Mouse Cursors for Haiku

Hi everybody. I have been working on some mouse cursors. I don’t know if it is a thing here.

I will appreciate any information on how to make it useful for anyone who perchance might want to try it.

However, I got information from the website about mouse cursors. I am still processing it though.

I am a pure “visuals” type no coding but I can readily adapt and learn.

Currently the Mouse cursor is stored in the application server directly, that is the graphics are hardcoded in the HVIF format, currently you’d need to recompile Haiku to change the cursors. so it’s not that easy

2 Likes

Thanks for the response. I will give it a go. It seems I will have to learn a lot here as you have already made it clear that it is not easy.

I forgot to ask. Does this mean that mouse cursors can not be switched to any other except through the route you specified, is this correct?

Yes,that is correct.
The code could theoretically be changed to support loading cursors from a file,but currently that’s not done so you’ll always have to recompile Haiku to try another cursor.

1 Like

Thanks nipos but I am thinking it will be great to have such a feature in the future.

maybe request for this in this thread

https://discuss.haiku-os.org/t/beta7-whishlist-s/

1 Like

Thanks, I did that.

It does beg the question though, why would you want to change the mouse cursor? The one we have now is iconic, and the ones in the image seem like they are just not that desirable.

3 Likes

Having the option to change cursosrs might not be a priority for most users but there is a minority it still appeals to.

As for the cusors not being iconic as the default cursors, thats not the point.

Some of us users want flexibility and variety and its not necessary to be iconic.

I remember back in the BeOS days some people wanted to change the regular hand cursor because it looked, to them, like a Mickey Mouse glove.

Besides that, there seem to be people around that want “themes” and changing the mouse cursor would fit in with that.

2 Likes

Sure, but themes and changing the chrome on Windows is really niche. I don’t think I would ever do it and it takes away what I see as the uniqueness of the OS. I honestly use the default UI settings in everything I use and I really don’t enjoy having to use anything that is customised.

Each to their own though.

I’d say Haiku should provide a means to easily change the mouse cursor for accessibility purposes. Make 'em bigger, a different colour, whatever is needed. Setting arbitrary cursors can then be easily implemented as a third-party opportunity. Same as more elaborate theme managing.
IMO.

6 Likes

I agree with this, the default cursor should get some enhancements for it’s accesibility; But on the other hand I think customizing it completey is a seperate concern (accesibility tends to work better when it is build into the system and not some “ask a third party dev to fix it” :slight_smile: )

Adding support for Third-party cursors should not be too difficult. I think the most straightforward way is too add a call to the ControlLook api to have the app_server fetch a cursor from there. (Yes, I guess technically this could be in the Decorator, but that is already too complicated and may also be moved into the controllook at some point, so then we would have a single Look&Feel library I suppose)

Hi nephele, hi community.

I started testing my cursor work from Windows 11 on Haiku. I drew from scratch so I had the vector files in svg. I brought them over and did not want the workflow to be messy so I decided to start with just one file, the Pointer cursor.

The svg for all the cursors are 64px by 64px.

When I opened in Icon-O-Matic, the canvas was filled with black color though the individual shapes and paths could be selected from the left pane. I booted back into Windows 11 to re-export the svg.

I use Illustrator and I changed the export option for styling from internal css to presentation attributes, booted back into Haiku, and it opened correctly.

I tried to export and I was presented with various formats but only tried the HVIF and HVIF Rdef

I opened HVIF Rdef with Style Pe, I had read earlier hotspots can be defined therein but this is what I have:

resource()#‘VICN’ array {there is code in here}

I am stucked here and I will appreciate any guidance.

Thanks.

HVIF is a binary format, it consists only of desciptions of paths, colors and shapes, (and LOD info), basically the same stuff you see in Icon-O-Matic; the format does not have any way to define a hotspot as it is not ment for Cursors directly, so this would likely be done somewhere else (but I do not know where)

The difference between HVIF and HVIF rdef is that the rdef version gives you the same binary data, but encoded in a way suitable for an rdef file, this is a kind of file you can use to set attributes to a file during a build operation.

Thanks for the clarification, I sought after the HVIF because you mentioned it in the first response. I am reading and finding more info, thanks.