Как заставить Unity2D переключать подсветку панели запуска?

6

Как я могу изменить поведение значков Launcher, чтобы они отображали свой фон только в том случае, если приложение запущено?

Я хочу, чтобы фоны или границы были выделены, если приложение активно, например, оно есть в Unity 3D.

    
задан Nils Rückmann 16.08.2012 в 16:02
источник

2 ответа

3

Я боюсь, вы не можете переключить подсветку элементов запуска в Unity-2D. По-видимому, он доступен только для Unity-3D и с учетом того факта, что большинство разработок был остановлен для Unity-2D, я не вижу возможности разработки этой функции.

Я также наткнулся на ошибку # 753969 и обнаружил это непроверенный патч , который может помочь вам получить переключение подсветки на Unity-2D, если вы знаете, как build Unity-2D из источника .

    
ответ дан jokerdino 05.10.2012 в 08:04
3

Я получил его! Благодаря привязке патча jokerdino, я смог настроить Unity2D так, чтобы он вел себя по-своему.

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

Важное замечание: Этот скрипт работает только на Ubuntu 12.04. Поскольку он исправляет файлы Unity, используйте его на свой страх и риск! В частности, не заставляйте его применять патчи, если он обнаруживает & amp; жалуется, что он не смог сделать это правильно.

wget http://people.ubuntu.com/~rafalcieslak256/Unity2dBgToggle.sh
chmod +x Unity2dBgToggle.sh
./Unity3dBgToggle.sh

Сценарий попросит вас ввести пароль root, исправить два файла и перезапустить оболочку Unity2D.

Чтобы вернуть изменения, просто переустановите пакет unity-2d-shell .

Примечание. Это изменение будет потеряно при обновлениях. Затем вам нужно будет запустить скрипт.

Вот содержимое скрипта:

#!/bin/sh
cat > /tmp/IconTile.patch << EOF
--- IconTile.qml    2012-10-05 14:47:31.341845516 +0200
+++ IconTile.qml_new    2012-10-05 14:47:55.757966590 +0200
@@ -32,6 +32,7 @@
     property string selectedTileBackgroundImage: ""
     property string tileBackgroundImage: ""
     property string tileShineImage: ""
+    property alias tileBackgroundVisible: tileBackground.visible

     property color defaultBackgroundColor: "#333333"
     property color selectedBackgroundColor: "#dddddd"
EOF
cat > /tmp/LauncherItem.patch << EOF
--- LauncherItem.qml    2012-10-05 14:40:37.267792239 +0200
+++ LauncherItem.qml_new    2012-10-05 14:43:00.136500682 +0200
@@ -210,6 +210,7 @@
                 tileShineImage: (item.isBfb) ? "../launcher/artwork/squircle_shine_54.png" : ""
                 selectedTileBackgroundImage: (item.isBfb) ? "../launcher/artwork/squircle_base_selected_54.png" : ""

+                tileBackgroundVisible: running | launching
                 /* tile background fade in/out animation */
                 SequentialAnimation on backgroundOpacity {
                     NumberAnimation { to: 0.0; duration: 1000; easing.type: Easing.InOutQuad }
EOF
sudo patch /usr/share/unity-2d/shell/common/IconTile.qml < /tmp/IconTile.patch
sudo patch /usr/share/unity-2d/shell/launcher/LauncherItem.qml < /tmp/LauncherItem.patch
killall unity-2d-shell
unity-2d-shell > /dev/null 2>&1 &
    
ответ дан Rafał Cieślak 05.10.2012 в 14:29