| Summary: | Hyprland: починить курсоры в xwayland | ||
|---|---|---|---|
| Product: | Ximper Linux | Reporter: | Кирилл Уницаев <fiersik> |
| Component: | Общее | Assignee: | Кирилл Уницаев <fiersik> |
| Status: | CLOSED FIXED | QA Contact: | Кирилл Уницаев <fiersik> |
| Severity: | minor | ||
| Priority: | P4 | ||
| Version: | не указана | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Заявки RT: | Связано с: | ||
| Дата напоминания: | |||
| Bug Depends on: | |||
| Bug Blocks: | 18855 | ||
|
Description
Кирилл Уницаев
2026-02-23 03:30:24 MSK
Долго пробовал ставить разные темы, проверяя, может проблема в неправильной теме, но нет
помогло создание файла ~/.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
Теперь тема обновляется во всех местах при обновлении переменных.
Задачу считаю выполненной.
Сразу закрываю |