Skip to content

A mouse pointer that looked wrong on Windows

The same program can look different on every operating system. One day the mouse pointer changed on Windows, so we chose our own pointer and learned to test the small things.

4 min read

A modern computer mouse resting on a wooden desk in golden light, with a laptop that has a softly glowing blank screen blurred behind it.

4 min read

One day, on Windows, the mouse pointer over our screens turned into a crosshair: a huge, thin plus sign. Nobody had asked for it.

A crosshair is a normal thing in software, but it can also be read as a cross. For the people who use this program, that is not what we want to put in front of them. We did not want a teacher or a student to see it on their screen while they work. It is a small detail, and it is exactly the kind of detail that decides whether people feel a program was made with them in mind.

Key points

  • On Windows, the mouse pointer over our screens turned into a huge, thin plus sign. Nobody had asked for it.
  • The same program can look different on each operating system, because each one draws the screens with its own engine.
  • We chose our own pointer: the normal arrow, a hand-like pointer and a “not allowed” pointer, in three small image files. If one fails to load, the system falls back to its own.
  • Two habits: test on every system your users really have, and take control of the small things.

Why the same program looks different

Tziyun B’Rega shows its screens through a web view, the browser engine that each operating system already has. We explain this in “How we chose the tools”. The upside is a small program. The side effect is that Windows, a Mac and Linux each draw the screens with their own engine, and they do not always agree on the details: fonts, spacing, scrollbars and the mouse pointer. Think of three printers printing the same page: the page is the same, but the ink lands a little differently.

We build and look at the program on a Mac and an Ubuntu computer, but our users work on Windows. So some things only show up there.

What we did

We took control of the pointer. Instead of letting each system choose, we told the program’s style sheet (the file that says how things look) to use our own pointer pictures.

What is a style sheet?

A style sheet is the file that tells a web page how things should look: colours, sizes, fonts, even the shape of the mouse pointer. The page holds the content and the style sheet holds the looks.

  • We found a ready-made pointer design that we liked, in a collection of cursors.
  • We converted the pictures to the pointer file format that Windows understands, using a free image tool that runs from typed instructions. One instruction, small pointer pictures.
  • We made three: the normal arrow, the hand-like pointer over things you can click, and a “not allowed” pointer.
  • The style sheet now points to those files. If a file ever fails to load, the system falls back to its own pointer, so nothing breaks.

We did this in September 2026. It is one short file of style rules and three small image files. The pointer now comes from us instead of from the system.

One honest note: we have not written down the exact moment the crosshair first appeared, and we do not claim to know which Windows version or setting caused it. What we know is that we saw it, and that choosing the pointer ourselves removed the question.

What this means for the people using it

Nobody needs to notice this change. That is the point. A school computer should show an ordinary arrow, and a hand over buttons.

What we learned

The same program can look different on every operating system. If you build once and look on one system only, you will release surprises. Two habits help:

  1. Test on each system your users really have, not only the one you build on. For us that is a real Windows, which is also why we keep a Windows machine for testing.
  2. Take control of the small things. A pointer, a font, a scrollbar: if it matters to the people using the program, set it yourself instead of hoping the system chooses well.

It was a small fix, not a project. Small things are easy to fix when you find them early, and hard to explain when someone else finds them first.

Read next

Watching a school computer from far away: what the logs taught us about small computersTziyun B'Rega sends its logs home so we can see it work where we cannot visit. A small computer in a remote town showed us that a computer's size, and in the end its processor, decides how well the program runs.Offline first, but is it really always offline?Tziyun B'Rega works without an internet connection, but a few features need one. Telling the two cases apart turned out to be harder than we expected.

Got something to build? Let's talk.

No sales pitch. Tell us what your business needs and we'll tell you straight how we'd tackle it, or whether you need it at all.

9 stories about Tziyun B'Rega

All 9 stories

"Why can't you just scan it?" How Tziyun B'Rega beganIt started with one email asking a simple question. The studio's account of the first search, a lottery-ticket comparison, a childhood memory of bubbles, and why we built our own reader.How we chose the tools: Tauri, Electron, then Wails and GoWe started with Rust and Tauri, went back to the tools we knew, and ended up with Go and Wails, which we never planned. The lesson: pick tools you can deliver with.Why we left Electron: the exam that moved on the pageTziyun B'Rega printed exams through a hidden Chrome window, and later pages drifted. We tried LaTeX twice, then found Folio, Go and Wails. The project history shows the path.Printing without the print dialog: learning from how Chrome does itThe first idea was to hand printing to the operating system and let people sort out the options. That was a mistake. Here is how we cut the choices down to three, and how reading Chromium's source helped.Finding the scanner, and taking over its settingsA teacher should press one button and get a scan. Behind that button are a search for the scanner, a list of settings nobody should have to touch, and a Windows firewall surprise.Building Windows software from a Mac: a borrowed computer, a virtual machine and a photo of an errorSchools run Windows. We work on a Mac and Ubuntu. This is how Tziyun B'Rega learned to build and test for Windows, and the photo that taught us the most.A mouse pointer that looked wrong on WindowsYou are reading this story. The same program can look different on every operating system. One day the mouse pointer changed on Windows, so we chose our own pointer and learned to test the small things.Watching a school computer from far away: what the logs taught us about small computersTziyun B'Rega sends its logs home so we can see it work where we cannot visit. A small computer in a remote town showed us that a computer's size, and in the end its processor, decides how well the program runs.Offline first, but is it really always offline?Tziyun B'Rega works without an internet connection, but a few features need one. Telling the two cases apart turned out to be harder than we expected.
Accessibility menu

Keyboard shortcuts

Open accessibility menuAlt+A
Accessibility statement

These settings are saved on your device only and are used to adjust the display. They do not change the site content and send no information to any server.