有没有办法将单个应用程序列入黑名单使用覆盖滚动条?

我在使用overlay-scrollbars时遇到一些程序问题,主要是Code :: Blocks和Eclipse。

我已经找到了几种完全禁用覆盖滚动条的方法,对于所有应用程序,但我喜欢它们,我不想这样做。

有没有办法只使用新的滚动条将这些应用程序列入黑名单?

我要回答我自己的问题。 感谢ubuntuforums中的用户“SevenMachines”,我找到了一种方法来禁用特定应用程序的覆盖滚动条。 我用以下内容编写了一个shell脚本(例如eclipse):

#!/bin/sh LIBOVERLAY_SCROLLBAR=0 eclipse 

然后,使其可执行,并使用“菜单编辑器”,将eclipse更改为指向脚本。

或者,在.bashrc添加以下内容

 alias eclipse="LIBOVERLAY_SCROLLBAR=0 eclipse" 

实际上,您可能还想添加UBUNTU_MENUPROXY=0因此统一菜单可以与eclipse一起正常工作,因此变为:

 alias eclipse="UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 eclipse" 

[ 注意:一旦重新启动bash shell,这只会生效]

您可以像这样编辑.desktop文件:

 cp /usr/share/applications/eclipse.desktop ~/.local/share/applications/ 

……然后……

 env LIBOVERLAY_SCROLLBAR=0 

到文件后面的Exec字段,如下所示:

 [Desktop Entry] Categories=Development;IDE;Java; Comment=Eclipse Integrated Development Environment Exec=env LIBOVERLAY_SCROLLBAR=0 eclipse Icon=eclipse Name=Eclipse Terminal=false Type=Application 

我使用unity-launcher-editor轻松地通过GUI更改它。

/usr/bin/eclipse本身就是一个启动脚本。 您可以在文本编辑器中编辑它,并在GDK_NATIVE_WINDOWS=true行下面添加以下行(与其他答案中提到的相同)。

 export UBUNTU_MENUPROXY=0 export LIBOVERLAY_SCROLLBAR=0 

上面回答的一个更通用的替代方法是这个简单的脚本,我称之为“常规滚动条”:

 #!/bin/sh LIBOVERLAY_SCROLLBAR=0 "$1" 

保存在路径上的某个位置,然后您可以使用菜单编辑器在任何命令之前添加“常规滚动条”(只要它只有一个参数 – 如果您认为需要更多,请尝试"$@"比一个)。

这意味着您不必为要恢复到旧滚动条的任何其他程序创建新脚本。

我也非常喜欢bashrc别名示例,你可以通过提供一个你想要恢复的程序列表并使用bashrc循环它们来添加别名来使它更通用。

感谢http://osdir.com/ml/ubuntu-bugs/2015-05/msg10672.html ,我使用Eclipse Mars 4.5.2在Ubuntu 14.04中进行了以下工作。

 $ more ~/.local/share/applications/eclipse.desktop [Desktop Entry] Type=Application Name=Eclipse Comment=Eclipse Integrated Development Environment Icon=/opt/eclipse/icon.xpm Exec=env LIBOVERLAY_SCROLLBAR=0 SWT_GTK3=0 /opt/eclipse/eclipse Terminal=false Categories=Development;IDE;Java; 

对于Eclipse中覆盖滚动条的特定问题,我可以按照此博客文章中的说明和相关的Ubuntu问题让它们正常工作。

您编辑eclipse启动脚本。

 sudo gedit /usr/bin/eclipse 

并注释掉一个环境变量,该变量正在解决一些现在已经修复的旧错误。

 #export GDK_NATIVE_WINDOWS=true 

下次我启动Eclipse时,滚动条有效。