Convert a Windows/MacOS cursor into a KDE Plasma compatible cursor theme.

Step 1: Download a cursor theme of your choice.

https://rw-designer.com/ has a massive catalogue of user-crated cursor sets.

Yippie! Unzip the folder using whatever software you prefer.

😀

Step 2: Convert the cursor files into a KDE-compatible format.

cd ~/Downloads/downloaded_cursor/

As we can see, the downloaded cursor files includes .cur files with cool names. Some themes also include .ani files for animated cursors. We can’t use those file formats so we will convert the files using win2xcur (Windows to xorg-cursor).

First, let’s install pipx if you don’t have it installed already. It’s the easiest way to automatically manage venvs and you don’t have to deal with your distribution’s laughable default handling of pip and python-… installations.

https://pipx.pypa.io/stable/installation

pipx install win2xcur
pipx ensurepath

Looks like it worked. Re-open your terminal.

exit

Use win2xcur to convert all files and put them into a single folder.

cd ~/Downloads/
mkdir output_folder_name
win2xcur grand-age-rome/*.{ani,cur} -o output_folder_name

In case the win2xcur command doesn’t work, add “pipx run” in front of it.

Step 3: Copy the theme files to the correct location.

Create a directory for your new theme:

mkdir -p ~/.icons/my_theme_name/cursors

Then create the theme index file:

nano ~/.icons/my_theme_name/index.theme

Paste the following using Ctrl + Shift + C:

[Icon Theme]
Name=MyCursorTheme
Comment=Converted Windows cursor theme
Inherits=breeze_cursors

Save and close your text editor using Ctrl + O and Ctrl + X.

Now copy all your files while renaming them to the correct file names. This step is very tedious and differs between each cursor pack you download. Some themes might have a lot more files (The nordic cursor theme includes over 100 files) but these are the most important ones:

install -m644 ~/Downloads/output_folder_name/'cursor_arrow' \
~/.icons/my_theme_name/cursors/left_ptr

install -m644 ~/Downloads/output_folder_name/'cursor_link' \
~/.icons/my_theme_name/cursors/hand1

install -m644 ~/Downloads/output_folder_name/'cursor_text' \
~/.icons/my_theme_name/cursors/xterm

install -m644 ~/Downloads/output_folder_name/'cursor_busy' \
~/.icons/my_theme_name/cursors/watch

install -m644 ~/Downloads/output_folder_name/'cursor_background_busy' \
~/.icons/my_theme_name/cursors/left_ptr_watch

install -m644 ~/Downloads/output_folder_name/'cursor_resize_horizontal' \
~/.icons/my_theme_name/cursors/sb_h_double_arrow

install -m644 ~/Downloads/output_folder_name/'cursor_resize_vertical' \
~/.icons/my_theme_name/cursors/sb_v_double_arrow

install -m644 ~/Downloads/output_folder_name/'cursor_resize_diag1' \
~/.icons/my_theme_name/cursors/top_left_corner

install -m644 ~/Downloads/output_folder_name/'cursor_resize_diag2' \
~/.icons/my_theme_name/cursors/top_right_corner

install -m644 ~/Downloads/output_folder_name/'cursor_move' \
~/.icons/my_theme_name/cursors/fleur

install -m644 ~/Downloads/output_folder_name/'cursor_unavailable' \
~/.icons/my_theme_name/cursors/crossed_circle

install -m644 ~/Downloads/output_folder_name/'cursor_help' \
~/.icons/my_theme_name/cursors/question_arrow

This is what this step looks like for my small example cursor pack:

Now refresh KDE Plasma so your new theme shows up:

kbuildsycoca6 --noincremental

Now you should be able to select your cursor theme in the KDE Plasma Theme Settings.

Optionally, you might need some symlinks to make everything work:

    ln -s left_ptr default
    ln -s left_ptr pointer
    ln -s hand1 pointing_hand
    ln -s watch wait
    ln -s crossed_circle not-allowed
    ln -s crossed_circle no-drop
    ln -s fleur size_all

Refresh again using the kbuildsycoca6 –noincremental command above and enjoy!

Leave a Reply

Your email address will not be published. Required fields are marked *