Each time a Guake indicator entry is clicked, unless the entry has the option 'dont show Guake' activated, Guake shows up. This is accomplished by a dbus call to the "Guake show interface". Unfortunately this interface is available only from Guake 0.4.5, in previous versions there's only a "Guake show-hide interface". The show-hide interface causes Guake indicator to hide Guake if it's already on top, therefore, on old Guake versions, Guake hides himself if you click on a Guake indicator entry while Guake terminal is shown on the screen. If you are running Ubuntu older than 15.04 you can upgrade to Guake version 0.4.5 from https://launchpad.net/~ulidtko/+archive/guake/+packages. Since Ubuntu 15.04 Vivid Vervet comes with Guake 0.5, this issue should not occur in future Ubuntu releases.
I noticed that from version 13.10, Ubuntu ships with a Guake that auto-renames each tab every time a change dir command is issued. In this way the 'tab_name' field within guake-indicator.xml is almost completely useless because Guake overrides this value. In order to solve this:
@dbus.service.method(DBUS_NAME, in_signature='i', out_signature='s') def get_gtktab_name(self, tab_index=0): return self.guake.tabs.get_children()[tab_index].get_label()The dbusiface.py is usually located in the /usr/lib/python2.7/dist-packages/guake/ or /usr/local/lib/python2.7/dist-packages/guake/ directory (the latter is the case if you compiled from the Guake source code). I put the above python code in the data/guake-patch.py file inside the source tarball (another option is to download it clicking here) so you can patch Guake typing (as root):
cat guake-patch.py >> /usr/lib/python2.7/dist-packages/guake/dbusiface.py
killall /usr/bin/python /usr/bin/guake
Bugs may be reported to the author by submitting a bug report to firstname.lastname@example.org or using the launchpad bug tracking system