mpv 0.31, linux
open mpv on a linux distribution running Gnome Wayland session.
The bug does not occur on X11 session.
mpv respects the cursor theme when we hover over it.
cursor theme changes from Adwaita to Breeze when I hover over mpv on my system.
This happens because X11 is the better platform.
mpv is the only app with this bug on my system.
Last time I checked, it's because GNOME wants everyone to use dbus (lol) to set cursor themes which obviously isn't going to happen here. Currently, mpv reads an environment variable which isn't ideal (why isn't this a protocol yet), but it's not nearly as dumb.
Even if there was a wayland protocol for this, GNOME wouldn't implement this. But it's not a bad idea to make it a protocol.
The problem with environment variables is that changes don't apply until an application is restarted. Can we get KDE and Sway on board to write us a non-dbus wayland protocol spec and implementations for requesting current cursor style and signalling changes in cursor style? I know we have @ddevault as an mpv user, surely someone involved with KDE uses mpv too.
We've discussed writing a cursor theme protocol extension in the past. It's a bit of a complex issue. For one, Sway doesn't care what your cursor theme is, and it kind of lets you configure it, but not really. lxappearance et al will configure the GTK+ theme, but that's independent of Qt apps or anyone like mpv who rolls their own thing. In other words, even outside of Wayland there really isn't a consistent standard to begin with, so we'd be trodding on completely fresh ground and working uphill to adopt something across the ecosystem.
I have been working on some stuff on the side which could potentially unify these things under one standard, alongside icon themes, font preferences, and so on, but it would live independently of Wayland, since your theme preferences have little to do with your display system.
No timeframe on that, though.
I have been working on some stuff on the side which could potentially unify these things under one standard, alongside icon themes, font preferences, and so on, but it would live independently of Wayland, since your theme preferences have little to do with your display system.
So using dbus?
No, just config files on disk.
Currently, mpv reads an environment variable
A correction to what I said above. Cursor _size_ is the environment variable that's read (different but related problem). The cursor theme comes from wl_cursor_theme_load. Just a guess here, but I think GNOME probably only uses gsettings to change the cursor theme which only works with gtk applications.
You need to make/edit a ~/.icons/default/index.theme to actually change the cursor theme globally which everyone except GNOME probably respects. It seems like GNOME uses ~/.config/gtk-3.0/settings.ini for whatever special snowflake reason. I just remembered that I have a few gsettings lines in my sway config probably for exactly this reason.
The problem with environment variables is that changes don't apply until an application is restarted. Can we get KDE and Sway on board to write us a non-dbus wayland protocol spec and implementations for requesting current cursor style and signalling changes in cursor style? I know we have @ddevault as an mpv user, surely someone involved with KDE uses mpv too.
https://lists.freedesktop.org/archives/wayland-devel/2018-December/039752.html
Tthis bug persists with mpv 0.32.
Did you try setting a cursor theme in ~/.icons/default/index.theme (lxappearance sets it there I think)? That's what mpv reads.
A D-Bus API... motherfucking idiots. Screw Wayland, which I will from now on call Shitland.
mplayer sucks, therefore mpv sucks. more like shitpv amirite
The real intentions of the Shitland devs surface. Enjoy your fucked up d-bus rube goldberg contraption where nothing works unless it's gnome, in which case it sort of works but not really.
X11 is so much better.
I used lxappearance to set cursor, now mpv shows the right cursor.
But thas's not correct. mpv should use Gnome settings.
But thas's not correct. mpv should use Gnome settings.
No. Applications shouldn't have to poke at compositor-specific files/interfaces.
But thas's not correct. mpv should use Gnome settings.
No it shouldn't.
Thank you emersion for writing the required protocol.
mpv is the only app that requires additional step to use the cursor theme configured in Gnome settings. That's ridiculous, that's not correct.
Gnome is the only desktop which demands special treatment.
why do all other apps use the cursor theme configured in Gnome settings
without any additional step?
Because they capitulate to Gnome's unreasonable demands.
define "Gnome's unreasonable demands".
@glaubersm is of course correct, gnome being a major Linux desktop, I can only blame the unreasonable pile of shit of a standard behind it.
mpv uses wl_cursor_theme_load which is a standard, wayland function. It's not our fault if GNOME doesn't support this.
@glaubersm: imagine a world where each and every application needs to add explicit support to each and every compositor. That's what I'd call "unreasonable".
is there any Wayland compositor supporting cursor protocol currently?
@emersion that xdg d-bus poop is a desktop-spanning standard though.
Also, gnome sets the defacto standard here, even if @ddevault doesn't want to believe it.
@emersion please, the obvious solution is to make GNOME the only software on the planet, no need for standards then :^)
Are we really going to have yet another argument about Wayland in which we repeat the same stupid bullshit we've said in every other argument about Wayland? Just give it up. Wayland users are perfectly satisfied with mpv's wayland support and Gnome users are idiots. We already agreed that you should just close gnome tickets and move on.
is there any Wayland compositor supporting cursor protocol currently?
No, I stopped working on it because I became tired of all of this situation.
that xdg d-bus poop is a desktop-spanning standard though.
Nope. Using it for cursors was just a GNOME idea, nothing standard yet. Today, that xdg-desktop-portal settings API is as much of a standard as my WIP cursor protocol is.
wip? then no Wayland compositor supports cursor protocol because it is not ready.
Stupid true bullshit.
@glaubersm everything else correctly implements wl_cursor_theme_load though making this a non-issue. Only GNOME doesn't get this right.
No, it's fucking not, and that's why it's fucking stupid that we keep arguing about it. Put a fucking lid on it, @wm4.
wip? then no Wayland compositor supports cursor protocol because it is not ready.
As said above, no Wayland compositor supports the xdg-desktop-portal API neither. (Not even GNOME.)
I will, once Wayland actually works.
waves in Wayland
@glaubersm is of course correct, gnome being a major Linux desktop, I can only blame the unreasonable pile of shit of a standard behind it.
Well, GNOME has sucked at least since I started using GNU/Linux, so surely no one expected it to get better just because we now have a superior replacement for X.
Why not just exec dconf read /org/gnome/desktop/interface/cursor-theme? Gives 'Ardoise_no_shadow_87', decent enough of an output imo
Most helpful comment
This happens because X11 is the better platform.