Java GUI Xmonad не работает

Приложения с графическим интерфейсом Java дают мне только пустое окно, я пробовал:

main = do
    xmonad $ defaultConfig
    { modMask = mod4Mask
    , startupHook = setWMName "LG3D"
    -- other customizations
    }

и установка этого:

_JAVA_AWT_WM_NONREPARENTING=1 

и это:

AWT_TOOLKIT=MToolkit

и я попытался использовать безотходные инструменты «wmname». Ни один из этих методов мне не помог. Два вопроса:

  1. Есть ли другая возможность?
  2. Что я делаю неправильно?

Я использую java 8, и ниже приведена моя минимальная конфигурация xmonad.

import XMonad 
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.SetWMName
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.FadeInactive
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Actions.UpdatePointer
import XMonad.Hooks.EwmhDesktops
import System.IO


term = "termite"
myWorkspaces = ["1","2","3","4","5"]

myLogHook :: X ()
myLogHook = fadeInactiveLogHook fadeAmount
    where fadeAmount = 0.7

main = do
    xmonad $ defaultConfig { 
        startupHook = setWMName "LG3D",
        manageHook = manageDocks <+> manageHook defaultConfig,
        layoutHook = avoidStruts $ layoutHook defaultConfig,
        logHook = dynamicLog
             >> updatePointer (0.5,0.5) (1,1)
             >> myLogHook,
        terminal = term,
        borderWidth = 0,
        focusFollowsMouse = False,
        workspaces = myWorkspaces
        }`additionalKeys`[
            ((mod1Mask .|. shiftMask, xK_l), spawn "scrot 'lock.png' -q 1 -e 'mv $f /tmp/lock.png' && i3lock -I 1 -i /tmp/lock.png"),
            ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s"),
            ((0, xK_Print), spawn "scrot"),
            ((mod1Mask, xK_d), spawn "rofi -config /home/chrootzius/.config/rofi/config -show run")
        ]

person oliverwiegers    schedule 24.01.2017    source источник


Ответы (1)


так что, наконец, я узнал, что это:

borderWidth = 0,

после отключения этого параметра или установки любого положительного значения все работает как часы.

--this works
borderWidth = [any positive value],
--for example
borderWidth = 1,

Извините, что беспокою вас, ребята. Я надеюсь, что информация может помочь любому.

person oliverwiegers    schedule 24.01.2017
comment
Люди, которые решают свои проблемы и возвращаются сюда, чтобы поделиться своим решением, — герои. - person user2297560; 25.01.2017
comment
Это, и, пожалуйста, отметьте этот ответ как принятый, чтобы другие люди не думали, что им все еще нужно отвечать :) - person ; 26.01.2017
comment
Я ненавижу, когда решения кажутся такими простыми, но не работают для меня :( - person user568021; 18.07.2018
comment
Кажется, что startupHook = setWMName "LG3D" здесь тоже важно (thinkingeek.com/ 24.01.2012/fix-java-gui-applications-xmonad) - person MantasG; 07.01.2020