diff --git a/src/client/ui/composer-window.vala b/src/client/ui/composer-window.vala index c045dfcf..8d02b446 100644 --- a/src/client/ui/composer-window.vala +++ b/src/client/ui/composer-window.vala @@ -152,11 +152,26 @@ public class ComposerWindow : Gtk.Window { } public override bool key_press_event(Gdk.EventKey event) { - if (Gdk.keyval_name(event.keyval) == "Return" && - (event.state & Gdk.ModifierType.CONTROL_MASK) != 0 && send_button.sensitive) { - on_send(); + bool handled = true; + + switch (Gdk.keyval_name(event.keyval)) { + case "Return": + if ((event.state & Gdk.ModifierType.CONTROL_MASK) != 0 && send_button.sensitive) + on_send(); + break; + + case "Escape": + this.destroy(); + break; + + default: + handled = false; + break; } + if (handled) + return true; + return base.key_press_event(event); } }