linux

Xmonad: Фиксим менюшки у saleae logic

2016-06-22-22:49:47_409x324 Есть довольно хороший бюджетный логический анализатор от saleae (и масса совместимых китайских клонов).

Что примечательно — это то, что ребята из этой конторы написали софт под все платформы (и не забыли линупс конечно же).

Софт написан на qt. И выглядит как бы совсем нестандартно.

В обычных DE с ним все нормально, но во всяких WM наступают грабли из-за нестандартной реализации менюшек. В частности очень сильно страдает xmonad. В нем при попытке открыть менюшки появляется цветная рамка и меню пропадает.

Фикс проблемы есть у саппорта saleae — нужно заигнорить окна с определенным классом добавив соответствующее правило к оконным хукам.

className =? "Logic" --> doIgnore
Реклама
linux

PHPStorm (PyCharm и др.) и XMonad

2016-02-28-23:48:47_708x493После запуска PHPStorm вместо самое среды появляется лишь серое окно без ничего.
Работаю я в xmonad и произошло это после очередной правки конфига под себя.
В документации сказано, что для java-приложений нужен

startupHook = setWMName "LG3D"

Но этот хук перестал почему-то оказывать должный эффект (без него в ряде java-приложений тоже был пустой экран).
А все оказалось просто: я добавил хук ewmhDesktopsEventHook.

handleEventHook = do
  ewmhDesktopsEventHook -- вот он
  docksEventHook
  fullscreenEventHook -- Full screen setup

Хук нужен для перехвата сообщений по активации окна, перемещению его на другой рабочий стол и переключении рабочих столов. Можно почитать документацию и код.

Но беда в том, что этот хук трет имя wm, которое устанавливается в конфиге (ставит «xmonad»). Этот wmname (который lg3d) служит решением для бага из awt.

Чтобы использовать ewmhDesktopsEventHook нужно указать java окольными путями, что она работает в «non reparenting» (не подобрал я нормального перевода :)) окружении.

Для этого служит переменная окружения _JAVA_AWT_WM_NONREPARENTING.

Пишем в ~/.bashrc или ~/.profile

export _JAVA_AWT_WM_NONREPARENTING=1

И теперь все хорошо.

2016-02-28-23:50:36_708x495

linux

XMonad, Qt и LibreOffice — проблемы рендеринга приложений

xmonad-qt_without_icons_in_console Многие пользователи сталкиваются с тем, что за пределами kde или гнома у приложений qt пропадают иконки. Но это не единственная проблема.

Вторая проблема — это странное поведение приложений из пакета libreoffice — при каждом щелчке мышью в окне или вводе текста окно полностью перерисовывается. И это заметно даже невооруженным глазом. И очень сильно мешает работать.

xmonad-qt_without_icons

Происходит это из-за того, что эти приложения пытаются брать свои настройки из запущенного DE, но для кедов и гнома все хорошо, а вот для менее популярных окружений все плохо.

Самый простой способ решить проблему — указать, из какого окружения нужно брать настройки — выставить переменную окружения XDG_CURRENT_DESKTOP в значение KDE или GNOME (а может быть XFCE — такое значение тоже возможно). Все зависит от того, каким de должен прикидываться ваш wm 🙂

Сходу мне не попалась спецификация по этой переменной окружения. Поэтому ссылок не вставляют.

Для своей конфигурации xmonad я прописал в .xinitrc

export XDG_CURRENT_DESKTOP=KDE

И все нормально работает. В приложениях qt появились значки, а libreoffice пропали лаги отрисовки.

xmonad-qt_without_icons_with_fix