В hyprland для курсоров используют свой формат - hyprcursor, он не работает в XWayland, поэтому во многих программах неправильно отображается курсор. Я дополнительно указываю тему и для xcursor, но почему-то это тоже сломалось и курсор не отображается. Нужно починить отображение курсора в XWayland
Долго пробовал ставить разные темы, проверяя, может проблема в неправильной теме, но нет помогло создание файла ~/.icons/default/index.theme и указания туда темы, но я считаю, что это не решение проблемы. Удалил файл - курсор пропал Сделал небольшой скрипт для проверки: import ctypes, ctypes.util xlib = ctypes.CDLL(ctypes.util.find_library('X11')) xcursor = ctypes.CDLL(ctypes.util.find_library('Xcursor')) xlib.XOpenDisplay.restype = ctypes.c_void_p xcursor.XcursorGetTheme.restype = ctypes.c_char_p xcursor.XcursorGetTheme.argtypes = [ctypes.c_void_p] dpy = xlib.XOpenDisplay(None) if dpy: theme = xcursor.XcursorGetTheme(dpy) print(f'XcursorGetTheme: {theme}') Возвращает XcursorGetTheme: b'rose-pine', значит приложение получает тему... Тесты завели меня к xrdb xrdb -query - пусто Попробовал вручную вписать переменные: printf 'Xcursor.theme: $xcursor_theme\nXcursor.size: $cursor_size\n' | xrdb -merge Неожиданно, но это помогло, теперь все приложения используют одну тему курсора. Добавил это в системный конфиг: $hyprcursor_theme = rose-pine-hyprcursor $xcursor_theme = rose-pine $cursor_size = 24 #---------- Hyprcursor env = HYPRCURSOR_THEME, $hyprcursor_theme env = HYPRCURSOR_SIZE, $cursor_size #---------- XCursor env = XCURSOR_THEME, $xcursor_theme env = XCURSOR_SIZE, $cursor_size exec = printf 'Xcursor.theme: $xcursor_theme\nXcursor.size: $cursor_size\n' | xrdb -merge Теперь тема обновляется во всех местах при обновлении переменных. Задачу считаю выполненной.
Сразу закрываю