Как воспроизвести в Awesome WM v3.5.2 через 3.5.5 (пока):
- Установите OpenJDK или Oracle Java 7 . Эта ошибка наблюдалась с обоими.
- Начните новый сеанс Awesome WM с конфигурацией по умолчанию .
- Запустите jEdit или PyCharm . Эта ошибка наблюдалась с обоими.
- Переместите указатель мыши вокруг и наблюдайте, как он меняется в зависимости от того, наводите ли вы курсор на код, файлы проекта или меню. Это должно работать нормально.
- Нажмите и отпустите в меню « Файл» , войдите в одно из подменю и посмотрите, как постоянно фокусируется элемент под указателем мыши.
- Нажимайте Mod4+ Spaceдо тех пор, пока не активируется плавающий макет (приложение будет почти на весь экран) или откройте другое приложение в том же теге.
В этот момент я ожидаю, что мышь будет вести себя так же, как и в «нормальных» приложениях. Вместо этого я наблюдаю следующее:
- При щелчке мышью по меню и навигации по нему указатель мыши и пункт меню, на который направлено фокусирование, будут смещены по вертикали друг от друга, по-видимому, на то же количество пикселей, что и высота строки состояния.
- При наведении курсора на разные элементы, как и раньше, значок курсора будет установлен так, как если бы указатель мыши был выше на экране. Например, при наведении курсора на верхнюю строку текста вы не увидите текстовый курсор.
Как будто что-то не обнаруживает, что координаты окна изменились.
Подобная, но гораздо более раздражающая ошибка возникает, когда вы открываете другое приложение с тем же тегом - поведение мыши такое, как если бы окно вообще не перемещалось.
При переключении другого тега, на котором уже открыто приложение, - «рабочий стол виртуальной мыши» перемещается в верхний левый угол основного экрана .
Так как эти ошибки наблюдались как в OpenJDK, так и в Oracle Java, в разных Java-приложениях, вполне вероятно, что ошибка есть в Awesome WM.
Связанный вопрос , статья . Я попробовал _JAVA_AWT_WM_NONREPARENTING
и wmname
исправления, но не идти.
Ответы:
По моему опыту, вам нужно добавить специальные определения в источник для оконного менеджера.
Это случилось со мной пару лет назад в
marco
диспетчере окон рабочего стола MATE ; «Исправление» заключалось в том, чтобы заставить Марко притворяться своим родительским проектом metacity, чтобы использовать встроенные исправления JDK для metacity.от
src/core/display.c
:Это исправление пахнет тем, что случилось со строкой пользовательского агента в мире веб-браузеров, но у меня это сработало.
Кроме того, в вики arch даже упоминается Awesome WM в разделе, посвященном олицетворению других оконных менеджеров, где она рекомендует
wmname
:https://wiki.archlinux.org/index.php/Java#Impersonate_another_window_manager
источник
Кажется, это известная ошибка, связанная с Java в Linux: https://netbeans.org/bugzilla/show_bug.cgi?id=227754
По указанному выше URL-адресу вы можете найти обходной путь для IDE NetBeans. Обходной путь, который работает для приложения Java, которое я использую, - НЕ максимизировать приложение Java с помощью кнопки «Развернуть», а вручную изменить размер окна до нужного размера. Пожалуйста, поделитесь информацией, если это поможет вам, спасибо!
источник
DESKTOP_SESSION
не работает. Пробовал с несколькими из предложенных значений.