Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

How can I change the behaviour of the launcher icons so that they have their background toggled on only if the application is running?

I want backgrounds or borders highlighted if the application is active, like I have it on Unity 3D.

share|improve this question
add comment

2 Answers

I am afraid you can't toggle the backlight of the launcher items in Unity-2D. It apparently is only available for Unity-3D and given the fact that most development has been halted for Unity-2D, I don't see any possibility of this feature being developed upon.

I also stumbled upon bug #753969 and discovered this untested patch that might help you get toggle-able backlight on Unity-2D if you know how to build Unity-2D from source.

share|improve this answer
    
Thanks for the patch. I have seen that bug myself too, but the problem with this bug is that it evolved into "This mode should be default". –  Rafał Cieślak Oct 5 '12 at 11:38
    
I think this will be doable. That path gave me a hint on how to do that, even without building Unit2D on my own. Working on it ;) –  Rafał Cieślak Oct 5 '12 at 11:54
    
Yay! Good luck with that and please do let me know how it goes. :) –  jokerdino Oct 5 '12 at 12:04
add comment

I got it! Thanks to the patch jokerdino linked, I was able to configure Unity2D so that it behaves the desired way.

enter image description here

I have prepared a script that applies required changes automatically. Therefore all you need to do is to download and run it.

Important notice: This script works only on Ubuntu 12.04. Because it patches Unity's files, use it on your own risk! Especially, do not force it to apply patches if it detects & complains it was unable to do it correctly.

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

The script will ask you for root password, patch two files and restart Unity2D shell.

To revert changes, simply reinstall package unity-2d-shell.

Note: This change will be lost with updates. You will need to run the script again then.

Here are script contents:

#!/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 &
share|improve this answer
    
Can you guarantee that script will be hosted there for the next 5 years? if not - i would suggest adding it to your answer - or at least include the relevant changes to the unity-2d files so that someone has visibility of what this shell script is supposed to do. –  fossfreedom Oct 5 '12 at 14:12
    
@fossfreedom: Thanks for the tip, fixed that. –  Rafał Cieślak Oct 5 '12 at 14:16
    
ok - cheers for that. I note its a diff - this will break on the next unity-2d update in this area. Do you intend to maintain this script? –  fossfreedom Oct 5 '12 at 14:19
    
@fossfreedom: I doubt it will. The files I change are the ones used to define how user interface looks like. As far as I know no more design changes are going to land in unity-2d, so I expect these files won't be changed anymore. –  Rafał Cieślak Oct 5 '12 at 14:22
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.