Can the Gnome 3.6 notification area be shrinked?

I find the GNOME Shell 3.6 changes to the message tray irritating. Is there a way to switch the message tray to the old model or to at least shrink the items and stop it from pushing the entire desktop when being summoned?


Solution 1:

The new design makes the tray unusable for many apps like CherryTree, Deluge, etc. that have tray icons, as you have to wait one long second for each access! And if, by chance, the cursor of your mouse touches the desktop bottom for just a second, you'll see a nasty movement. I don't know where the gnome developers want to go with such "innovations".

However, you could change the tray behavior by editing /usr/share/gnome-shell/js/ui/messageTray.js. I changed TRAY_DWELL_TIME to 50 ms and set the hot zone to the old right bottom corner by changing the line which reads let shouldDwell = ... to:

let shouldDwell = (x >= monitor.x && x == monitor.x + monitor.width - 1 &&

This makes the tray usable again but I didn't find a way for preventing that upward movement.

EDIT (Thanks to @6ahodir):

To prevent upward movement of the desktop change the same file (/usr/share/gnome-shell/js/ui/messageTray.js) and update the following line in the _showDesktopClone() function:

{ y: -this.actor.height,

to this:

{ y: 0,

In case you want to remove the messageTray,

let shouldDwell = (x >= monitor.x + monitor.width && x <= monitor.x + monitor.width + 1 &&    

Solution 2:

You can shrink the message tray modifying /usr/share/gnome-shell/theme/gnome-shell.css

#message-tray {
    background: #2e3436 url(message-tray-background.png);
    background-position: 0 0;
    background-repeat: repeat;
    transition-duration: 250;
    height: 36px;
}

And you should also change the icons' size in /usr/share/gnome-shell/js/ui/messageTray.js. Search for the SOURCE_ICON_SIZE constant within the Source class and set it to the value of your choice :-)

Solution 3:

Disable the notification area hover:

let shouldDwell = 0;

There is a keybinding for notification area (default is super+m)