mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-11-10 03:01:14 +03:00
macOS: Workaround for cocoa bug that could cause the mouse cursor to become hidden in other applications in rare circumstances
Use window focus gained/lost events instead of mouse enter/exit events to hide/show the mouse cursor. Fixes #1218
This commit is contained in:
parent
e9d0d40809
commit
84caf787aa
@ -21,6 +21,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
|
|||||||
- macOS: Add an option :opt:`macos_show_window_title_in_menubar` to not
|
- macOS: Add an option :opt:`macos_show_window_title_in_menubar` to not
|
||||||
show the current window title in the menu-bar (:iss:`1066`)
|
show the current window title in the menu-bar (:iss:`1066`)
|
||||||
|
|
||||||
|
- macOS: Workaround for cocoa bug that could cause the mouse cursor to become
|
||||||
|
hidden in other applications in rare circumstances (:iss:`1218`)
|
||||||
|
|
||||||
- Fix using remote control to set cursor text color causing errors when
|
- Fix using remote control to set cursor text color causing errors when
|
||||||
creating new windows (:iss:`1326`)
|
creating new windows (:iss:`1326`)
|
||||||
|
|
||||||
|
@ -457,6 +457,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
|
|||||||
|
|
||||||
_glfwInputWindowFocus(window, GLFW_TRUE);
|
_glfwInputWindowFocus(window, GLFW_TRUE);
|
||||||
updateCursorMode(window);
|
updateCursorMode(window);
|
||||||
|
if (window->cursorMode == GLFW_CURSOR_HIDDEN) hideCursor(window);
|
||||||
if (_glfw.ns.disabledCursorWindow != window && cursorInClientArea(window))
|
if (_glfw.ns.disabledCursorWindow != window && cursorInClientArea(window))
|
||||||
{
|
{
|
||||||
double x = 0, y = 0;
|
double x = 0, y = 0;
|
||||||
@ -469,6 +470,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
|
|||||||
{
|
{
|
||||||
if (window->monitor && window->autoIconify)
|
if (window->monitor && window->autoIconify)
|
||||||
_glfwPlatformIconifyWindow(window);
|
_glfwPlatformIconifyWindow(window);
|
||||||
|
showCursor(window);
|
||||||
|
|
||||||
_glfwInputWindowFocus(window, GLFW_FALSE);
|
_glfwInputWindowFocus(window, GLFW_FALSE);
|
||||||
}
|
}
|
||||||
@ -720,17 +722,11 @@ static GLFWapplicationshouldhandlereopenfun handle_reopen_callback = NULL;
|
|||||||
|
|
||||||
- (void)mouseExited:(NSEvent *)event
|
- (void)mouseExited:(NSEvent *)event
|
||||||
{
|
{
|
||||||
if (window->cursorMode == GLFW_CURSOR_HIDDEN)
|
|
||||||
showCursor(window);
|
|
||||||
|
|
||||||
_glfwInputCursorEnter(window, GLFW_FALSE);
|
_glfwInputCursorEnter(window, GLFW_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)mouseEntered:(NSEvent *)event
|
- (void)mouseEntered:(NSEvent *)event
|
||||||
{
|
{
|
||||||
if (window->cursorMode == GLFW_CURSOR_HIDDEN)
|
|
||||||
hideCursor(window);
|
|
||||||
|
|
||||||
_glfwInputCursorEnter(window, GLFW_TRUE);
|
_glfwInputCursorEnter(window, GLFW_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user