我在Java中创建了一个未修饰的每像素半透明JFrame。框架的大小(在下面的屏幕中)是512x512。到目前为止我只添加了3张图片。我的问题是Compton创建的窗口阴影几乎破坏了每像素半透明效果。我一直试图找出如何禁用JFrames的窗口阴影,但我找不到有关康普顿的任何内容。
是否有可能通过命令行运行命令来禁用特定进程的Compton?在这种情况下,我可以使用Runtime.exec()。
我尝试了什么:
setUndecorated(true);
getRootPane().putClientProperty("Window.shadow", Boolean.FALSE);
setType(Type.UTILITY);
setType(Type.POPUP);
注意:我仍然希望Compton处于活动状态,而不是这个特定的JFrame。
答案 0 :(得分:1)
虽然它不适用于所有具有透明窗口的应用程序,但它对我有用,因为我只希望这个应用程序不使用Compton阴影。
解决方案:
shadow-exclude = [ "name = 'WindowTitle'" ];
,其中WindowTitle
是窗口的标题。pkill compton
。--config
参数将其链接到配置文件。那就是它。