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

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

我在使用覆盖滚动条时遇到了一些程序问题,主要是 Code::Blocks 和 Eclipse。

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

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

答案1

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

#!/bin/sh
LIBOVERLAY_SCROLLBAR=0 eclipse

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

答案2

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

alias eclipse="LIBOVERLAY_SCROLLBAR=0 eclipse"

事实上,您可能还想添加UBUNTU_MENUPROXY=0以便 Unity 菜单能够与 eclipse 正常工作,如下所示:

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

[笔记:仅当您重新启动 bsh shell 后,此操作才会生效]

答案3

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

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

...然后放...

env LIBOVERLAY_SCROLLBAR=0

该文件随后看起来像这样:

[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-编辑器通过 GUI 轻松改变这一点。

答案4

上述答案的一个更通用的替代方案是这个我称之为“regular-scrollbars”的简单脚本:

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

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

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

不过,我也非常喜欢 bashrc 别名示例,您可以通过提供要恢复的程序列表并让 bashrc 循环遍历它们并添加别名,使它更加通用。

相关内容