Can someone please help/teach me how to port over my mouse cursor theme?

Hello World,

At this point I’ve been using the same mouse cursor in windows for over 20 years and I’d like to transfer it to linux too, especially since I couldn’t find a native one that I like better.
Problem is I don’t really know how. :cry:

I did manage to transform the files inside the windows cursor to .ani and .cur files using some windows program. And I have found and installed this linux program that should theoretically allow me to convert them to a linux cursor, but I have no clue how to use it…
I read that page a half dozen times, and read the win2xcur --help section and tried all kinds of commands in the terminal, but clearly I have no idea what I am doing…

Alternatively, if you would prefer, I have also found this other program.
But this one I can’t even manage to install(as I think you have to build it yourself or something), let along figure out how to use it. :face_with_spiral_eyes:

Help please, thank you.

Just to verify you are using X11 and not Wayland correct?

I’m using whatever EndeavourOS sets as default if you select KDE Plasma desktop option when you install it.

If I am incorrect maybe someone who uses KDE will correct me but KDE uses Wayland and the instructions I saw are for X11. Next time you are at the login screen click the session button and choose KDE X11 instead of the default. DE’s like KDE and GNOME are slowly dropping support for X11 so you may want to consider a new cursor theme that works in wayland.

Hmmm, well can’t I use x11 cursors in wayland as well like this reddit thread seems to suggest?
Or maybe apps will appear in the future that will make it easy to convert x11 cursors to wayland as support drops?

Because, correct me as well if I am wrong people, after a google search there don’t seem to be any programs to convert a windows cursor(or .ani and .cur files) directly to wayland.
Those 2 that I linked, that are x11 according to you, are the only things I was able to find… :frowning:

And what is the cursor name in windoz?

The original file in windows is X_SKH_SE.curXPtheme
I used to apply it with a program called CursorFX.

Ideally things should still work in wayland. KDE Plasma allows you to select and download cursor themes on wayland, so there must be some way to build them.

Hello,

See the usage here :

You should have kept reading mate…

Maybe show what the output in your terminal is and explain to us the exact steps you did to try this, it might help people figure out if it is something you are doing or if it is something else.

1 Like

Oh trust me, it’s totally something I am doing wrong! I may not know much, but I know enough to know that. :wink:

But you are right, while I don’t remember exactly everything I tried back then, here is the terminal output of some of the things that I tried again right now.

You just have to copy your .cur or .ani file in the X_SKH_SE_LinuxVersion directory, then open a terminal, enter the directory :

cd /home/vikings/X_SKH_SE_LinuxVersion

then run win2xcur with the default options :

win2xcur blahblah.cur

Please post output here instead of a third party place like Drop Box. Some here do not trust cloud services and don’t have accounts. That will limit the help you will be able to get since those without accounts wont be able to see what is going on.

simply copy and paste the output here and then tap ctrl+E to format.

1 Like

Just fyi @thefrog you don’t actually need a dropbox account to download something from a link someone gave you, but as you wish here is the last output that I linked above:

[vikings@VIKINGSKINGDOM ~]$ mkdir output/
win2xcur sample/crosshair.cur -o output/
mkdir: cannot create directory ‘output/’: File exists
usage: win2xcur [-h] [-o OUTPUT] [-s] [-O SHADOW_OPACITY] [-r SHADOW_RADIUS] [-S SHADOW_SIGMA] [-x SHADOW_X] [-y SHADOW_Y] [-c SHADOW_COLOR]
                files [files ...]
win2xcur: error: argument files: can't open 'sample/crosshair.cur': [Errno 2] No such file or directory: 'sample/crosshair.cur'
[vikings@VIKINGSKINGDOM ~]$ win2xcur --help
usage: win2xcur [-h] [-o OUTPUT] [-s] [-O SHADOW_OPACITY] [-r SHADOW_RADIUS] [-S SHADOW_SIGMA] [-x SHADOW_X] [-y SHADOW_Y] [-c SHADOW_COLOR]
                files [files ...]

Converts Windows cursors to X11 cursors.

positional arguments:
  files                 Windows cursor files to convert (*.cur, *.ani)

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT, --output-dir OUTPUT
                        Directory to store converted cursor files.
  -s, --shadow          Whether to emulate Windows's shadow effect
  -O SHADOW_OPACITY, --shadow-opacity SHADOW_OPACITY
                        Opacity of the shadow (0 to 255)
  -r SHADOW_RADIUS, --shadow-radius SHADOW_RADIUS
                        Radius of shadow blur effect (as fraction of width)
  -S SHADOW_SIGMA, --shadow-sigma SHADOW_SIGMA
                        Sigma of shadow blur effect (as fraction of width)
  -x SHADOW_X, --shadow-x SHADOW_X
                        x-offset of shadow (as fraction of width)
  -y SHADOW_Y, --shadow-y SHADOW_Y
                        y-offset of shadow (as fraction of height)
  -c SHADOW_COLOR, --shadow-color SHADOW_COLOR
                        color of the shadow
[vikings@VIKINGSKINGDOM ~]$ cd /home/vikings/X_SKH_SE_LinuxVersion
[vikings@VIKINGSKINGDOM X_SKH_SE_LinuxVersion]$ arrow.cur -o -s
bash: arrow.cur: command not found
[vikings@VIKINGSKINGDOM X_SKH_SE_LinuxVersion]$ win2xcur input/*.{ani,cur} -o output/
usage: win2xcur [-h] [-o OUTPUT] [-s] [-O SHADOW_OPACITY] [-r SHADOW_RADIUS] [-S SHADOW_SIGMA] [-x SHADOW_X] [-y SHADOW_Y] [-c SHADOW_COLOR]
                files [files ...]
win2xcur: error: argument files: can't open 'input/*.ani': [Errno 2] No such file or directory: 'input/*.ani'
[vikings@VIKINGSKINGDOM X_SKH_SE_LinuxVersion]$ win2xcur arrow/*.{ani,cur} -o output/
usage: win2xcur [-h] [-o OUTPUT] [-s] [-O SHADOW_OPACITY] [-r SHADOW_RADIUS] [-S SHADOW_SIGMA] [-x SHADOW_X] [-y SHADOW_Y] [-c SHADOW_COLOR]
                files [files ...]
win2xcur: error: argument files: can't open 'arrow/*.ani': [Errno 2] No such file or directory: 'arrow/*.ani'
[vikings@VIKINGSKINGDOM X_SKH_SE_LinuxVersion]$ win2xcur /home/vikings/X_SKH_SELinuxVersion/*.{ani,cur} -o -s output/
usage: win2xcur [-h] [-o OUTPUT] [-s] [-O SHADOW_OPACITY] [-r SHADOW_RADIUS] [-S SHADOW_SIGMA] [-x SHADOW_X] [-y SHADOW_Y] [-c SHADOW_COLOR]
                files [files ...]
win2xcur: error: argument files: can't open '/home/vikings/X_SKH_SELinuxVersion/*.ani': [Errno 2] No such file or directory: '/home/vikings/X_SKH_SELinuxVersion/*.ani'
[vikings@VIKINGSKINGDOM X_SKH_SE_LinuxVersion]$ f it....
bash: f: command not found
[vikings@VIKINGSKINGDOM X_SKH_SE_LinuxVersion]$

As you can see @vazicebon what you said is what I thought I did, but guess I messed it up somehow…

At a glance you’re trying to run commands quite inconsistently - it’s clear you have a basic grasp on “I need to run this in the right location” by the way you’re able to use CD to relocate yourself, but then on the very next attempt you switch to trying to run the command in a completely different way.

What is the actual filepath on your local system to the folder which contains the windows cursor files you have created, and what are their filenames?

Yeap, that’s me, one confused little cupcake… :melting_face:
Yeah, cd I still remember from my super brief(considering my age and when I first saw a pc) dos days. :wink:

Anyway, the file path is /home/vikings/X_SKH_SE_LinuxVersion/
and the contents:

So, I just did a little exploratory digging with my own system and a Windows VM because I was curious to see how the commands suggested by win2xcur actually worked :smile:

What I will say: The documentation leaves a lot to be desired!

To make this as simple as possible for you, I will suggest:

Within /home/vikings/X_SKH_SE_LinuxVersion/, create two new folders - input and output

Put all of your .ani and .cur files into input

CD within your terminal to /home/vikings/X_SKH_SE_LinuxVersion/ and run the command:

win2xcur input/*.{ani,cur} -o output/ 

Your output folder will subsequently look something like what I have here, which I am reasonably confident with since I have just gone through the same steps myself to test and create this screenshot :laughing: :

Which will be a folder full of X11 cursor files, getting you a bit closer to what you’re trying to achieve.

Cool that worked, thank you so much :grin: , although the files it created in the ouput folder don’t have any termination…
Is that normal or is it because I also added the -s argument to your command to get shadows?
Nevermind scratch that I tried it even without -s, exactly like you wrote it and they still have no termination. Shouldn’t they be .x11 or something, or am I overthinking things?

1 Like

There should be no extension but if you right click on it it and look at properties it should show the type as X11