Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iBeam cursor difficult to see on dark backgrounds #359

Closed
acheronfail opened this issue Mar 6, 2018 · 9 comments
Closed

iBeam cursor difficult to see on dark backgrounds #359

acheronfail opened this issue Mar 6, 2018 · 9 comments

Comments

@acheronfail
Copy link

When using kitty with a dark background on macOS, it's difficult to see where the cursor is since it is also dark - I find myself struggling to find the cursor and waving it around like mad until I find it.

This is what I mean:
screen shot 2018-03-06 at 6 22 47 pm

The native Terminal app and iTerm2 both solve this by using a different image for the cursor (you can find iTerm2's cursor here).

I think that it would be nice if we had a hybrid dark/light cursor like iTerm2's, or at least a cursor that is easier to see with light/dark backgrounds. I'd also be interested in making the PR myself if you could point me in the right direction. 😄

@kovidgoyal
Copy link
Owner

Doesn't Apple allow you to change your mouse theme? It should not be the job of every application to provide its own mouse cursor. Personally, I like to use white mouse cursors with a black outline and a slight black shadow. Works well on all background colors, like this: http://www.rw-designer.com/cursor-set/opensuse-oxygen

@acheronfail
Copy link
Author

acheronfail commented Mar 6, 2018

Unfortunately I believe Apple restricts changing the mouse themes. It used to be possible in versions of macOS < 10.10, but since SIP they've cracked down a lot more on System restrictions (it is still possible through various private and hacky APIs, but they can often change and are unreliable).

I also prefer white cursors - and while I agree that it shouldn't be the job of every application to provide its own mouse cursor, that doesn't make me like the situation Apple places us in since we can't change the mouse theme.

@kovidgoyal
Copy link
Owner

Wow, that's bad. Well OK, I suppose we have to workaround Apple's control freakyness. If you do want to implement a custom cursor in kitty, the relevant place would be in kitty/glfw.c see set_mouse_cursor()
(googling should tell you what API to use for glfw custom cursors).

Note that kitty uses three different cursor types (ibeam, hand, arrow). IMO, the way this should work is:

  1. Allow user to define a mouse cursor theme in the config directory so they can customize the cursor images to whatever they want. I have the opposite philosophy to Apple :)

  2. On macOS only use special cursor images shipped with kitty by default.

@acheronfail
Copy link
Author

acheronfail commented Mar 6, 2018

I'll give this a crack when I get the chance. Unfortunately since I'm not very familiar with C and things have come up I'm afraid I probably won't have the time to work on this (I originally wanted to do it as an exercise coding in C).

For anyone else who's interesting in this, these links might be useful:

@kovidgoyal
Copy link
Owner

I didn't bother with making it configurable, I leave that as an exercise for whoever is interested.

@dylan-chong
Copy link

Is anyone else having the issue where they cannot see the beam cursor added in commit 4313531? I am using the latest kitty 0.12.1

@kovidgoyal
Copy link
Owner

kovidgoyal commented Sep 10, 2018

The custom cursor was disabled, because it caused the mouse cursor to become invisible on dual GPU machines. See #794

@gibfahn
Copy link
Contributor

gibfahn commented Sep 10, 2018

Is it possible to just not use the I-beam at all on macOS? I find the normal cursor pretty easy to see (especially if you increase the cursor size in the System Preferences -> Accessibility -> Display -> Cursor Size).

image

@kovidgoyal
Copy link
Owner

Not out of the box, someone would have to create a config option to select the default mouse cursor shape from the list of standard shapes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants