Kovid Goyal
2babfa7ebf
macOS: Further restrict the live resize callback to only be used when live resize is actually in progress
2025-10-07 18:23:08 +05:30
Kovid Goyal
d3c5cb12c4
macOS: Dont do live resizing when window is fullscreen
...
The live resize causes crashes on some Tahoe machines due to macOS bugs.
It is not needed anyway when the window is fullscreen, so ignore it.
2025-10-07 08:57:57 +05:30
Kovid Goyal
a0699f5c9e
Remove the dropping of the first resize event since it did not fix the issue
...
Add a check to only callback if the thread is the main thread
2025-10-06 18:39:53 +05:30
Kovid Goyal
270c598f2c
macOS: Only live resize for resize events that occur in quick succession
...
Apparently on some systems Tahoe sends a resize event on wake from
sleep/lid open for obscure reasons and then proceeds to crash if one
redraws during that event. Sigh.
2025-10-02 19:39:13 +05:30
Kovid Goyal
a8e930c167
Fix titlebar color not working for opaque windows
...
As long as titlebar_color is not nil, we need a background view
2025-09-29 22:36:27 +05:30
Kovid Goyal
75ec41e08b
Make titlebar background view a child of the titlebar view itself
2025-09-29 22:02:38 +05:30
Kovid Goyal
13bbaee112
Only insert titlebar background view if the titlebar is transparent
2025-09-29 21:47:40 +05:30
Kovid Goyal
14f75c9a9b
DRYer
2025-09-29 17:44:24 +05:30
Kovid Goyal
d2cc22e7c6
macOS: React to changes in effective appearance of the NSApplication not the content view for each window
...
This is nicer now every OS Windows doesnt cause a notification. Also
fixes #9034 which was caused by us setting an explicit appearance on the
window when the titlebar is set to a specific color thereby preventing
the views in the window from getting appearance change notifications.
2025-09-29 17:17:46 +05:30
Kovid Goyal
f4867928b4
DRYer
2025-09-29 17:00:18 +05:30
Kovid Goyal
1252098016
DRYer
2025-09-29 09:09:49 +05:30
Kovid Goyal
fb4a3d7f17
Revert reversion of Tahoe fix in 7589bf4b11
...
It is still needed. Instead change the frame to havezero size and leaves
its origin unchanged.
2025-09-29 08:58:41 +05:30
Kovid Goyal
e542cd8378
macOS: Fix a big where the color of a transparent titlebar was off when running in the release build versus the build from source. Also fix using a transparent titlebar causing the background opacity to be darkened.
...
There were two issues.
1) Setting window background color to a non-zero opacity causes
darkening (essentially there were two layers of blending)
2) The titlebar background view could end up in the wrong position
because it was a child of the content view rather than its super view
Fix both issues setting the window background to clear color and
moving the background view into the super view while making sure it is
positioned correctly using explicit constraints. Phew.
2025-09-28 21:24:00 +05:30
Kovid Goyal
e024226b0c
Dont need to set origin since we are setting anchors
2025-09-28 20:22:40 +05:30
Kovid Goyal
8bef718c9a
Tighten the scope searched for sub views
2025-09-28 19:46:11 +05:30
Kovid Goyal
b6f9080486
Use explicit constraints for the titlebar bg view
...
Easier to reason about
2025-09-28 17:20:37 +05:30
Kovid Goyal
791902caad
...
2025-09-28 17:03:33 +05:30
Kovid Goyal
09133a7039
Use only one subview for translucent titlebar
2025-09-28 17:01:10 +05:30
Kovid Goyal
57345af8e9
Move titlebar background setting to after window stylemask is set
...
The titlebar height calculation depends on the stylemask
2025-09-28 16:20:52 +05:30
Ethan Wu
7589bf4b11
Revert "Workaround for latest Apple regression in Tahoe"
...
This reverts commit d837a64e36 .
Commit 24b31d96e9 fixes the original
problem of "ghost windows" that d837a64 was trying to solve. (I have no
idea how or why it does.)
One side-effect of the workaround from d837a64 is that it causes closed
windows to be moved to the (0,0) before being destroyed. This means that
when creating new windows, they are placed on the left-most display,
instead of the display in which the previously closed window was on as
you would expect. Reverting this kludge fixes this bug.
2025-09-22 16:50:31 -07:00
Kovid Goyal
982b5156e1
macOS: When toggling in the quick access terminal move it to the currently active screen
...
Fixes #9003
2025-09-22 20:04:42 +05:30
Kovid Goyal
7af7aa95c6
Another workaround for another macOS Tahoe bug
...
Dont redraw an OSWindow during a resize event if the resize event is
accompanied by a screen change as it causes a crash in macOS OpenGL
driver. Fixes #8983
2025-09-19 12:05:34 +05:30
Kovid Goyal
24b31d96e9
No need to use a block as Apple docs guarantee that NSApplicationDidChangeScreenParametersNotification is posted on the main thread
2025-09-19 08:52:09 +05:30
Kovid Goyal
d837a64e36
Workaround for latest Apple regression in Tahoe
...
Now NSWindow::close no longer actually closes the window. Sigh. Have to
also set its frame to zero size, otherwise an invisible rect remains
that intercepts mouse events and takes up space in Mission Control.
Life is too short for this shit. Fixes #8952
2025-09-05 17:27:46 +05:30
Kovid Goyal
21fa5bb1ce
macOS: focusing of minimized window broken
...
This was done to fix #8913 in d7c2cdc .
Explicitly de-miniaturize before making key.
2025-08-23 07:49:06 +05:30
Kovid Goyal
d7c2cdccb1
macOS: Fix closing an OS Window when another OS Window is minimized causing the minimized window to be un-minimized
...
This is a bug we inherited from GLFW.
Fixes #8913
2025-08-18 21:26:54 +05:30
Kovid Goyal
3638adda6c
macOS: Elaborate dance to work around yet another Cocoa bug
...
Fixes #8740
2025-08-18 16:01:51 +05:30
Kovid Goyal
6beded7b49
Cleanup previous PR
2025-08-18 14:45:18 +05:30
zhaolei
ba8acf508f
make macos_titlebar_color background support transparent
2025-08-17 13:37:31 +08:00
Kovid Goyal
caba27240b
Add some missing assertions
...
Port from upstream glfw: 38ec7abd3baffdd3ec4e6f8cbb5384cda8882ae3
2025-08-16 07:38:54 +05:30
Kovid Goyal
55a2f2c55c
Cocoa: fix quick access terminal hide focus restore
...
Apple now makes kitty the front most application before sending the
service notification. So instead watch for front most application change
events from the shared workspace and restore focus to the last non-self
application.
2025-07-21 14:55:12 +05:30
Kovid Goyal
6282a46ff1
A new centered panel type that is sized
2025-05-13 16:38:57 +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
8e12cccf26
...
2025-05-13 08:00:35 +05:30
Kovid Goyal
20d6a8e4c5
Fix building on older Cocoa
2025-05-13 07:45:11 +05:30
Kovid Goyal
9ed6be9272
Quick access terminal: Allow toggling the window to full screen and map using the standard kitty toggle_fullscreen shortcut
...
Fixes #8626
2025-05-12 15:20:48 +05:30
Kovid Goyal
015ee41d0f
...
2025-05-12 13:17:46 +05:30
Kovid Goyal
064bc963a8
macOS: Quick access terminal: Restore focus to previously active window when hiding the quick access terminal window
...
Fixes #8627
2025-05-12 13:15:42 +05:30
Kovid Goyal
f04fc251bf
Start work on full panel support in X11
2025-05-01 15:44:08 +05:30
Kovid Goyal
4fa67c9ffd
macOS: Relayout layer shell windows on screen size change
2025-04-29 21:33:05 +05:30
Kovid Goyal
50b044f8a2
Allow popup menus from global menubar to function
2025-04-25 20:41:44 +05:30
Kovid Goyal
2c2ddbb8f5
Remove useless animate parameter
2025-04-23 20:59:34 +05:30
Kovid Goyal
c3e1f2317b
Finish calculations for other panel types in cocoa
2025-04-23 20:36:35 +05:30
Kovid Goyal
413a2b96e2
Prevent background panel launch taking focus from key window
2025-04-23 13:16:01 +05:30
Kovid Goyal
09eb5edcca
Get background panel basically working on macOS
2025-04-23 12:42:24 +05:30
Kovid Goyal
ca30b4196b
Prevent minimize/maximize/fullscreen for layer shell windows
2025-04-23 07:43:36 +05:30
Kovid Goyal
3c4a8a1e7e
Resize OS panels on font size change
2025-04-23 07:43:36 +05:30
Kovid Goyal
ae01cf3c1c
Refactor layer shell size callback to support multiple backends
2025-04-23 07:43:36 +05:30
Kovid Goyal
c9bf7e4236
Factor out Cocoa layer shell code into the proper function
2025-04-23 07:43:36 +05:30
Kovid Goyal
e93338a81c
Start work on macOS support for panel kitten
2025-04-23 07:43:36 +05:30