Comment 8 for bug 1018643

Revision history for this message
Jadrian Miles (jadrian.miles) wrote :

I can confirm techtonik's bug, described above in their post from 2013-06-21.

Confirmed under Ubuntu 12.04 with Unity, both with the current version of Guake from the repository (0.4.2) and current master copy of Guake from github (cloned on 2014-06-26; last update 2014-05-02).

Specifically, my way to reproduce it is to try to set Win-space as the "Toggle Guake visibility" shortcut.

I googled around and also took a look at the Guake source code. The problem is twofold:

1. Unity, by default, reserves the Super (Win) key as the global shortcut for showing the Unity launcher. Therefore any global shortcuts that use an unmodified Super will conflict. There's a simple workaround (described here: http://askubuntu.com/questions/34145/can-i-define-keyboard-shortcuts-using-the-super-key ) --- namely, use the CompizConfig Settings Manager to change the launcher shortcut (I chose Alt-space). If you do this, then Guake will accept Win-space as a Show/Hide shortcut without complaint.

2. Let's say you don't perform this workaround, though. When the conflict occurs, Guake tries to process this fact and create a warning dialog box. This happens within the reload_globals() function in guake (around line 381 in the version from the Ubuntu repository, as indicated in the bug report above). This function raises a ShowableError, which later gets processed to produce a dialog box. The second argument to the ShowableError constructor can be a simple HTML string (to provide bold and italic formatting), but the string used to represent "Super" in the key combination is "<Super>". Hence the HTML-parsing warnings from Gtk, and the weird, empty dialog box that results.

The solution is simply to XML-encode the name of the key combination, so it turns into "&lt;Super&gt;" (for example) instead.

I've submitted a pull request to the Guake developers to fix this issue.