Bug#1064016: adwaita-icon-theme: v46 cursor theme is missing legacy X11 icon names expected by many applications

Simon McVittie smcv at debian.org
Thu Feb 15 19:28:32 GMT 2024


Package: adwaita-icon-theme
Version: 46~beta-1
Severity: important
Tags: upstream
Control: affects -1 firefox firefox-esr chromium libsdl2-2.0-0
Forwarded: https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/issues/278

adwaita-icon-theme 46~beta removed a lot of symlinks representing legacy
X11 cursor names, such as left_ptr, hand2 and xterm.

Instead, it exclusively contains cursor names corresponding to the CSS
cursor list: https://drafts.csswg.org/css-ui/#cursor
which is the same as the freedesktop.org cursor spec, minus the proposed
"up-arrow" which is in neither CSS nor Adwaita:
https://www.freedesktop.org/wiki/Specifications/cursor-spec/

Unfortunately, lots of applications expect/assume that the legacy X11
cursor names will exist, and use them in preference to the CSS names.
Depending on the application, this can result in it either falling
back to the default arrow, or a nasty-looking pixelated X11 cursor,
or an empty rectangle.

A particularly visible symptom for this is that in affected applications,
the cursor does not change from its default shape to an I-beam when
hovering over selectable text, and does not change to a pointing finger
when hovering over a hyperlink.

For the cursors that have a corresponding entry in the legacy
X11 vocabulary and the CSS vocabulary, it's very easy to provide
backwards-compat by creating symlinks, for example left_ptr -> default,
hand2 -> pointer, xterm -> text. If upstream are not going to do this,
then I think it would be pragmatic for Debian and other distros to do it.

I am *not* intending to create or ship cursors that existed in the X11
cursor vocabulary but do not exist in the CSS vocabulary, some of which
are frankly baffling (I'm pretty sure we don't actually need boat,
pirate or umbrella, for example). Applications wanting those cursors
can either use unthemed X11 cursors or ship their own.

    smcv

----

For reference, the CSS cursor names are as follows:

alias
all-scroll
cell
col-resize
context-menu
copy
crosshair
default
e-resize
ew-resize
grab
grabbing
help
move
n-resize
ne-resize
nesw-resize
no-drop
not-allowed
ns-resize
nw-resize
nwse-resize
pointer
progress
row-resize
s-resize
se-resize
sw-resize
text
vertical-text
w-resize
wait
zoom-in
zoom-out

and the X11 cursor names are:

X_cursor
arrow
based_arrow_down
based_arrow_up
boat
bogosity
bottom_left_corner
bottom_right_corner
bottom_side
bottom_tee
box_spiral
center_ptr
circle
clock
coffee_mug
cross
cross_reverse
crosshair
diamond_cross
dot
dotbox
double_arrow
draft_large
draft_small
draped_box
exchange
fleur
gobbler
gumby
hand1
hand2
heart
icon
iron_cross
left_ptr
left_side
left_tee
leftbutton
ll_angle
lr_angle
man
middlebutton
mouse
pencil
pirate
plus
question_arrow
right_ptr
right_side
right_tee
rightbutton
rtl_logo
sailboat
sb_down_arrow
sb_h_double_arrow
sb_left_arrow
sb_right_arrow
sb_up_arrow
sb_v_double_arrow
shuttle
sizing
spider
spraycan
star
target
tcross
top_left_arrow
top_left_corner
top_right_corner
top_side
top_tee
trek
ul_angle
umbrella
ur_angle
watch
xterm



More information about the pkg-gnome-maintainers mailing list