Есть ли способ занести в черный список отдельное приложение с помощью оверлейных полос прокрутки?

У меня проблемы с некоторыми программами при использовании оверлейных полос прокрутки, в основном Code::Blocks и Eclipse.

Я нашел несколько способов полностью отключить оверлейные полосы прокрутки для всех приложений, но они мне нравятся, и я не хочу этого делать.

Есть ли способ занести в черный список только эти приложения с помощью новых полос прокрутки?

7 ответов

Я собираюсь ответить на свой вопрос. Благодаря пользователю "SevenMachines" в ubuntuforums, я нашел способ отключить накладные полосы прокрутки для конкретного приложения. Я сделал скрипт оболочки со следующим (например, для eclipse):

#!/bin/sh
LIBOVERLAY_SCROLLBAR=0 eclipse

Затем сделайте его исполняемым и, используя "Редактор меню", измените затмение, чтобы оно указывало на сценарий.

В качестве альтернативы, в вашем .bashrc добавить следующее

alias eclipse="LIBOVERLAY_SCROLLBAR=0 eclipse"

На самом деле, вы также можете добавить UBUNTU_MENUPROXY=0 так что единство меню правильно работает с затмением, так что становится:

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

[Примечание: это вступит в силу только после перезапуска оболочки Bash]

Вы можете редактировать файл.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, чтобы легко изменить это через графический интерфейс.

/usr/bin/eclipse скрипт запуска сам по себе. Вы можете отредактировать это в текстовом редакторе и добавить следующие строки (такие же, как указано в других ответах), ниже строки GDK_NATIVE_WINDOWS=true,

export UBUNTU_MENUPROXY=0
export LIBOVERLAY_SCROLLBAR=0

Более общей альтернативой вышеприведенным ответам был бы этот простой сценарий, который я назвал "регулярные полосы прокрутки":

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

Сохраните это где-нибудь на своем пути, и затем вы можете использовать редактор меню, чтобы добавить "регулярные полосы прокрутки" перед любой командой, которую вы хотите (если у нее только один аргумент - попробуйте "$@" если вы думаете, вам нужно больше, чем один).

Это означает, что вам не нужно будет создавать новый скрипт для любых других программ, которые вы хотите вернуть к старым полосам прокрутки.

Мне также очень нравится пример псевдонима bashrc, хотя, возможно, вы могли бы сделать его более универсальным, предоставив список программ, которые вы хотите отменить, и применив к ним цикл bashrc, добавив псевдонимы.

У меня есть следующая работа в Ubuntu 14.04 с Eclipse Mars 4.5.2, благодаря http://osdir.com/ml/ubuntu-bugs/2015-05/msg10672.html

$ 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, полосы прокрутки сработали.

Другие вопросы по тегам