【发布时间】:2026-02-14 19:25:03
【问题描述】:
Java GUI 应用程序只给我一个空白窗口,我试过了:
main = do
xmonad $ defaultConfig
{ modMask = mod4Mask
, startupHook = setWMName "LG3D"
-- other customizations
}
并设置:
_JAVA_AWT_WM_NONREPARENTING=1
还有这个:
AWT_TOOLKIT=MToolkit
我尝试使用“wmname”无趣的工具。 这些方法都不适合我。两个问题:
- 还有其他可能吗?
- 我做错了什么?
我使用 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")
]
【问题讨论】:
标签: java swing user-interface haskell xmonad