Ubuntu / Linux news and application reviews.

unity dodge windows

The patch that adds the old window dodge autohide behaviour for the Unity Launcher hasn't been updated for Ubuntu 12.10, but an old script that implements the same behaviour, with some limitations, now works with Ubuntu 12.10 and even 13.04.

The Unity Dodge Windows script was initially created by Jorge for Ubuntu 12.04 and it has now been updated by WebUpd8 reader Alex Piggott to work with Ubuntu 12.10. With a minor change, I've also got it to work with Ubuntu 13.04.



Dodge Windows?


Unity used to support "window dodge" autohide behaviour until Ubuntu 12.04. Using "dodge windows", the Launcher hides when the active window or a maximized window overlaps it.

There are two window dodge scripts (both packaged as debs so you don't have to set up anything manually) you can use with Ubuntu 12.10 and 13.04: one that adds a "real" window dodge behaviour, just like it was implemented in Unity until Ubuntu 12.04, as described above, and another one that makes the launcher dodge only for maximized windows.

Below you can watch the Unity Dodge Windows script in action, under Ubuntu 13.04 Raring Ringtail:


(direct video link)



Known issues / limitations


The Unity Dodge Windows script isn't perfect and has some limitations:
  • it doesn't work with multiple monitors;
  • if you were using two monitors but disabled / unplugged one, you need to log out and log back in for Unity Dodge Windows to work;
  • the icons on the desktop will shift to the left when the launcher hides and move back to their initial location when the launcher is revealed (you can see this in the video above). This isn't a big issue if you're using the script that makes the launcher dodge only for maximized windows, but for the other one you may find it a bit annoying. A work-around is to disable the file manager from handling the desktop (e.g.: using GNOME Tweak Tool: on the "Desktop" tab, set "Have file manager handle the desktop" to OFF). If you find a better work-around, let us know;

Also, to enable / disable it, you must install / uninstall the package (see below) and log out, then log back in. There's no configuration for this.

Those are the only limitations that I know about, but there might be others.


Install Unity Dodge Windows in Ubuntu 12.10 or 13.04


The Unity Dodge Windows scripts are available in the WebUpd8 PPA for Ubuntu 12.10 or 13.04 (you don't need it for Ubuntu 12.04, see THIS post instead). To add the PPA, use the following commands:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update

A) And then, to get the "real" Unity Dodge Windows, meaning the Launcher will dodge / hide if a window overlaps it, even if the window is not maximized, use the following command to install the script from our PPA:
sudo apt-get install unity-dodge-windows

Once installed, press ALT + F2 and run:
unity-dodge-windows

This is only required once because the script is automatically loaded on startup.

B) Or, if you want the launcher to only hide for maximized windows, install the following package:
sudo apt-get install unity-dodge-maximized-windows

Then, press ALT + F2 and enter:
unity-dodge-maximized-windows

Once again, this is only required once because the script is automatically loaded on startup.

Don't worry, you can't install both packages in the same time: installing "unity-dodge-maximized-windows" will automatically remove "unity-dodge-windows" and the other way around, so there won't be any conflicts.

If you don't want to add our PPA, you can download the deb files below:



Revert the changes


Disabling Unity Dodge Windows is just as easy as enabling it: all you have to do is uninstall the package (alternatively, you can also simply disable it from the Startup Applications dialog):

To remove unity-dodge-windows, use:
sudo apt-get remove unity-dodge-windows

Or, for unity-dodge-maximized-windows, use:
sudo apt-get remove unity-dodge-maximized-windows

Then, log out and log back in and Unity Dodge Windows should be gone.


Thanks to Jorge and Alex Piggott for the scripts!