Linux Compton:如何删除未修饰的JFrame的窗口阴影

时间:2015-07-17 11:07:22

标签: java linux jframe shadow

我在Java中创建了一个未修饰的每像素半透明JFrame。框架的大小(在下面的屏幕中)是512x512。到目前为止我只添加了3张图片。我的问题是Compton创建的窗口阴影几乎破坏了每像素半透明效果。我一直试图找出如何禁用JFrames的窗口阴影,但我找不到有关康普顿的任何内容。

Screenshot

是否有可能通过命令行运行命令来禁用特定进程的Compton?在这种情况下,我可以使用Runtime.exec()。

我尝试了什么:

  • setUndecorated(true);
  • getRootPane().putClientProperty("Window.shadow", Boolean.FALSE);
  • setType(Type.UTILITY);
  • setType(Type.POPUP);

注意:我仍然希望Compton处于活动状态,而不是这个特定的JFrame。

1 个答案:

答案 0 :(得分:1)

虽然它不适用于所有具有透明窗口的应用程序,但它对我有用,因为我只希望这个应用程序不使用Compton阴影。

解决方案:

  1. 创建Compton配置文件。
  2. 添加shadow-exclude = [ "name = 'WindowTitle'" ];,其中WindowTitle是窗口的标题。
  3. 在终端执行pkill compton
  4. 启动Compton并确保使用--config参数将其链接到配置文件。
  5. 那就是它。