Есть ли способ занести в черный список отдельное приложение с помощью оверлейных полос прокрутки?
У меня проблемы с некоторыми программами при использовании оверлейных полос прокрутки, в основном 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, полосы прокрутки сработали.