Scroll to navigation

GUAKE(1) Guake GUAKE(1)


guake - A drop-down terminal for GNOME environment [image: computer with guake terminal] [image]

Welcome to the official Guake User Documentation.

Guake is a dropdown terminal made for the GNOME desktop environment. Guake's style of window is based on a famous FPS game, and one of its goals is to be easy to reach and developer friendly.

  • Lightweight
  • Simple Easy and Elegant
  • Smooth integration of terminal into GUI

  • Compiz transparency support
  • Multi tab
  • Plenty of color palettes
  • Quick Open in your favorite text editor with a click on a file name (with line number support)
  • Customizable hotkeys for tab access, reorganization, background transparency, font size,...
  • Extremely configurable
  • Configure Guake startup by running a bash script when Guake starts
  • Multi-monitor support (open on a specified monitor, open on mouse monitor)
  • Save terminal content to file
  • Open URL to your browser


What is Guake?

Guake is a powerful drop-down terminal, accessible by a simple hotkey. It has been designed to be the swiss knife of any developer willing to increase its productivity.

Alternatives to Guake

Here are some of the best terminals available on the Linux environments that bring similar features of Guake:

  • Tilda
  • Tilix
  • Yakuake (For the KDE)
  • GNOME Terminal
  • Terminator

Guake 3 Features

TBD: Long description of each feature

Single Hotkey terminal


  • Appears when you call and disappears once you are done by pressing a predefined hotkey (F12 by default)
  • Customizable hotkeys for tab access, reorganization, background transparency, font size,...


Guake can now (>=3.1) starts automatically on GNOME startup.

Advanced Tab Support

Guake has several modes available to manage tab. You can let guake automatically rename the tab or give you own name.

Color Palettes

Thanks to the Guake community, a huge number of Terminal palettes are provided out of the box.

GTK Theme

Guake allows you to choose a different GTK theme than your environment.


You need to restart Guake after changing the GTK theme.

Guake automatically finds URL printed in your terminal and allow you to click on it using [Ctrl]+click. Many other terminals, if not all, does that already.



Guake is also able to find out file names and open it in your favorite code editor, such as Visual Studio Code, Atom or SublimText.

Guake brings this to much more, by automatically parsing output of popular system commands such as gcc, Python's traceback or pytest report, and allowing you to automatically open the file at the correct line number. Guake is even able to find the Python function name automatically when used with pytest. [image]

Even if Guake cannot parse the output, you can still ask him to open a wanted file path displayed in your terminal, provided the file exists at this path. Simply select the full path and click using the [Ctrl]+click, or with the contextual menu on right click. [image]

Contextual menu

Right click also displays "Search on web" (if you have selected a text) and "Open link" (if the text under the cursor is a URL or if the selected text is a URL).

Guake also supports HTML-like anchor with special characters such as:

echo -e '\e]8;;\aThis is a link\e]8;;\a'

HTML-like anchors

You may need a recent version of the VTE (Virtual Terminal Emulator) component in you system (vte >= 0.50).

Multi Monitor

TBD: Multi-monitor support (open on a specified monitor, open on mouse monitor)

Hook points

TBD: Configure Guake startup by running a bash script when Guake starts

Save Terminal Content

TBD: Save terminal content to file

Custom Commands


DBus commands

The major features of guake are available on DBus.


Tabs are uniquely identified with a UUID. Each terminal receives this UUID in the following environment varialbe: GUAKE_TAB_UUID. It can be used to rename the tab from the command line using --tab-index 3c542bc1-7c99-4e73-8d37-e08281bd592c.

Per-directory .guake.yml file

If there is a file named .guake.yml in the current working directory of the shell associated with a tab, Guake will try to read the title from there. The current format is very simple and it will probably change in the future:

title: "My Great Project"

Installing Guake

System-wide installation

Always prefere using your package manager to install guake.

Debian / Ubuntu

Ubuntu and Debian users will use sudo apt install guake.

Guake also has a PPA. You can add the Guake PPA to your system by entering:

$ sudo add-apt-repository ppa:linuxuprising/guake
$ sudo apt-get update

After which you will be able to install and update to the latest version of Guake on the PPA.


Tested in Fedora 34: We can use dnf to install it.

$ sudo dnf install guake

Then you can open it via:

$ guake

To allow global 'F12' to open the guake, go to Setting >> Device >> Keyboard >> Scroll to bottom >> "+" to create a new global short cut with 'F12' keybinding and command 'guake'.

You may notice the style may have some error. You can fix this by installing and apply custom theme.

$ sudo dnf install arc-theme gnome-tweaks

Then use

$ gnome-tweaks

to change theme to change theme to one of the yakuake will fix this.

Arch Linux

Guake is available on community repository, just use: sudo pacman -S guake to install it.


Manjaro users can use pacman -S guake.

Install from Pypi

Guake is now automatically published on Pypi.

Please note the recommended way is to install Guake using pipx that will put Guake in a dedicated, isolated environment for your local user. Ensure $HOME/.local/bin is in your PATH.

$ python3 -m pip install --user pipx
$ pipx install guake

Alternatively, you can use the following command to install on a local environment:

$ pip install --user guake

Avoid using pip install guake without the --user, you may break your system.

You need to ensure the following points are met in your configuration:

  • $HOME/.local/bin should be in your $PATH
  • gir1.2-keybinder-3.0
  • gir1.2-notify-0.7
  • gir1.2-vte-2.91
  • libkeybinder-3.0-0
  • libutempter0
  • python3-setuptools
  • python3-cairo
  • python3-dbus
  • python3-gi
  • python3-pip
  • python3

Install from source

If you want to install Guake from its sources, please follow this procedure:

are automatically generated and cannot be used alone. We use a package, namely PBR, that requires the full git history to work.

Checkout the HEAD of the source tree with:

installed for your system. If you are unsure about the dependencies, you can run this script to install them:

$ ./scripts/bootstrap-dev-[debian, arch, fedora].sh run make

Note: Insert your distribution in the square brackets.

To install Guake itself, use:

$ make
$ sudo make install

To uninstall, still in the source directory:

$ make
$ sudo make uninstall

Tips for a complete Guake reinstallation (without system dependencies):

$ sudo make uninstall && make && sudo make install
$ # Or use this shortcut:
$ make reinstall  # (do not sudo it!)

Command Line Arguments

Here is the command line interface Guake provides:

Please run guake --help to see command line interface help

D-Bus Interface

TBD: Describe the DBus interface, with message, how to use it. Recall how to send guake toggle command.

Frequently Asked Questions

Manual keybinding

If you want to trigger guake manually, for instance on system where libkeybinder3 does not work, you can register the following snippet in your window manager

dbus-send --type=method_call --dest=org.guake3.RemoteControl \

/org/guake3/RemoteControl org.guake3.RemoteControl.show_hide

You can use the simpler:


Please note the command guake -t will also toggle Guake but since it initialize a bit more than just necessary, it can be slower that the two previous commands.

Note on Wayland

There are some reports of Guake not opening when a Wayland app or empty desktop is focused. The issue has been reported on Ubuntu 17.10 LTS, Fedora 26 and Fedora 27. For more context, see issue #1041.

The workaround is setting a manual keybinding as described above. On Fedora 26, for example, this can be accomplished by going to Settings > Keyboard and adding a new custom shortcut to execute guake-toggle.

Note for Archlinux users

This applies to users of Archlinux based distributions too and may be of help to non Debian/Ubuntu users as well. Currently make install is optimized for Ubuntu, which does not mean that it cannot be used on other systems, but depending on your system you may have to tell make install where to install guake (the default for Ubuntu is /usr/local/lib/python3.x/dist-packages/guake).

So on Ubuntu the following commands are equivalent:

$ sudo make install
$ sudo make install PREFIX=/usr/local

On Archlinux this can be done by passing /usr as PREFIX:

$ sudo make install PREFIX=/usr

which changes the installation destination to /usr/lib/python3.x/site-packages/guake.

Note that the install script automatically determines whether to use dist-packages or site-packages.

For more details checkout the official PKGBUILD at, the PKGBUILD on the aur or this gist.

Why Guake crashes with Tmux and Byubu?

Tmux and Byobu can be used as shell instead of bash or zsh, but you should be sure to disable the "use login shell" option. If set, Guake will not be able to start. Use dconf-editor to reset this option if Guake cannot start again.

GTK 3 Port

Early 2018, Guake has been ported GTK3, thanks to the huge work of @aichingm. Old releases and code depending on GTK2 have been put on the 0.8.x branch of the GitHub project and will no more be actively maintained.

Please note that we target to support mainly the GTK and VTE versions found by default on most popular distribution such as Ubuntu or Arch Linux (currently: Ubuntu 16.04 LTS and 17.10).

Guake is now only compatible with Python 3.5+.

Port to GTK 3 and Python 3 lead naturally to skip all 1.x and 2.x version in the version of Guake: Guake 3.

Dropped Features from Guake 0.8.x

--bgimg (this option has been removed from vte)

Broken translations

Some changes in translation system made during the Guake 3 port may have broken the welcome message in some languages (#1209).

Help is welcomed for updating translations in your language ! See the "Update translation" section below.

Note for maintainers

Guake has drastically changed its build system with Guake 3. You may need to adapt all the integration scripts accordingly.

Guake now uses Pipfile to store it Python dependencies (except the system dependencies such as PyGTK3). It is maintained and used by pipenv CLI tool. It is a system more advanced than using requirements.txt, but this file is still generated for backward compatibility (for example: ReadTheDocs only support requirements.txt for the moment), by a tool I've developed, named pipenv_to_requirements (makefile target make requirements). It does generate requirements.txt (running dependencies), and requirements-dev.txt (build, checks and test only). From then, Guake is now a classic, canon Python package (with, building distribution packages, ...).

It however requires system libraries, so cannot work isolated inside a virtualenv. If you look closer to the virtualenv used with make dev ; make run, you will see it is configured to use the system libraries using pew toggleglobalsitepackages.

If for any reason pipenv does not work on your platform, you can still install guake from these requirements file, but the ultimate source of truth for dependency declaration is the Pipfile.

Do not hesitate to contact me at gaetan [at]


History of the Project

TBD: history of the project

Guake Change Log


New Features

  • --is-visible option returns 1 when visible, and 0 when not
  • Double click to open a new tab, without side effects in mouse enabled terminal apps

Known Issues

keybindings does not work with not English layout.

Bug Fixes

  • Changed Toggle Hide on Lose Focus Shortcut to Shift-Ctrl-F1. Instead of change Go to tab1 shortcut, because Ctrl-F1 is in the pool Ctrl-Fn of change to tabs.
  • Fix issue Ctrl+F1 does two jobs in Keyboard Shortcuts Page
  • Add environment variable GUAKE_ENABLE_WAYLAND, fixed #1934
  • System font applied only for last tab #1947
  • Guake suddenly not starting any more due to ModuleNotFoundError: No module named 'importlib_metadata' #1962
  • Fix vte spawn_sync runtime check failed: ((spawn_flags & ignored_spawn_flags()) == 0)
  • Fix the way PBR computes the package version.
  • Eliminated redundant terminal spawning on startup
  • Fix system font application issue
  • Add fallback for version number finding
  • Reinstated double clicking to open new tabs
  • Use keycodes instead of keyvals for keybindings. This allow one to use keybindings with different keyboard layouts.

Notes for Package Maintainers

Switched from importlib + pbr to setuptools_scm for versioning


Fix for release pipeline.

Security Issues

Fixed security Issue: Exposure of sensitive function, malicious user can arbitrary command via an execute_command d-bus method. #1796

Translation Updates

  • Chinese Simplified (@kitty-panics)
  • Croatian (@milotype)
  • Dutch (@Vistaus)
  • German (@m1ga, @rMb93)
  • Indonesian (@rezaalmanda)
  • Polish (@piotrdrag)
  • Russian (@vantu5z)
  • Swedish (@MorganAntonsson)
  • Turkish (@Draconis-25, @ersen0)








Release Summary

Added line height and character width adjustment options

Fix keybinding regressions

Lazy focus loss to avoid closing on short-term losses

Moved guake.desktop.metainfo.xml to $datadir

New Features

Feature request: Setting line-spacing / line-height #849

Support of short term focus loss and avoid folding #1643

Bug Fixes

Some shortcut keys are abnormal #1939

Notes for Package Maintainers

  • Glade layout file upgraded with 3.38.2 from last used 3.22.2, should still be valid but some things may be deprecated/renamed.
  • guake.desktop.metainfo.xml has been moved to $datadir in Makefile


Release Summary

Add Finnish translation

Stopped setting GDK_BACKEND to x11 in terminals.

Bug Fixes

GDK_BACKEND is propagated to the shell in terminal #1871

Translation Updates


Release Summary

Adds "Galizur" Theme

Adds Shades of Purple Theme

Default to the system theme, make having guake deviate be optional.

Add copy on select option to copy to regular clipboard

Color Palettes: Fix "Gruvbox Dark" & Add "Gruvbox Material Dark"

Add support for tabs in keyboard shortcuts

placing the appstream metainfo file in the right path according to

Automatically hide the tab bar when there is only one tab

Add close tab to d-bus interface.

Fix ignored "Show scrollbar" after splitting vertically

Fix missing or malformed schema files when upgrading guake

Move window to correct coordinates before maximizing

Fixes prompting when closing a tab.

Fix right click menu not populating when custom commands is malformed

Fix trailing punctuation in URLs being included in the URL


New Features

  • Now defaults to system default theme
  • New option to still allow independently setting guake's theme.

  • "copy on selection" option even if the desktop doesn't do it #43
  • copy text on selection #1898

  • Added Gruvbox dark
Allow Ctrl-Tab as an accelerator #152

Automatically hide the tab bar when there is only one tab #924

  • Add close tab to d-bus interface.
  • Move the window to the correct coordinates, in the correct display, before attempting to maximize the window.
  • Re-implemented the refocus functionality.

    This functionality allows the user to return the focus to an open guake window. It happened to be partially be maintained but faced issues in the migration to Gtk3.

    The functionality was revived, partially based on commented-out code found in Guake.show_hide().

  • Bring back GUAKE_TAB_UUID

Known Issues

removes the broken feature, where double-clicking on the tab bar opened a new tab #1439

Upgrade Notes

If a different theme from system default was already selected and desired, users may need to uncheck "Use system default theme" in properties->general

  • Will be disabled by default
  • Will have to manually change keyboard shortcuts to use tab on existing installations
  • If setting is undesired, uncheck the hide tab if one tab option in settings
  • Add close tab to d-bus interface.
  • Should fix the errors with malformed schema files when upgrading guake.


Default keyboard shortcut for next/previous tab is no longer ctrl+pgup/pgdn

Bug Fixes

  • Adjusted Gruvbox
  • placing the appstream metainfo file in the right path
  • fixes #924
  • Added regex for line start by <word> <word>. Refer Issue
  • Fix config didn't reload when set_workspace
  • Fix ineffective override of the GDK_BACKEND environment variable causing invalid pointer location and display detection (#1820)
fixes an issue, where double-clicking in certain CLI apps would instead open a new tab #1697

  • fixes #1734
  • Does not start after upgrade to 3.7.0 with pip3 due to faulty schema #1718
  • (Potentially) Guake 3.6.3 missing gschemas.compiled in PyPi #1621

  • Guake always appears on mouse display regardless of Guake Preferences #1689
  • guake follows mouse focus when have 2 monitors #1761
  • Multiple monitors issue with Fedora 31 #1745
  • Guake window follows mouse across monitors till it loses focus #1735
  • And possibly more

Fixes #1863

Minimal Right Click Menu, no copy or split screen #1845

  • Update search box to work with updated regex vte apis for v0.46+, #1752
Open with URL includes trailing single quote (invalid URL) #1624

Update session.json when directory changed, not terminal title changed #1633

Fixes #1712

Notes for Package Maintainers

  • Add close tab to d-bus interface.
  • Should resolve issues with the gschemas.compiled file. Make sure that the location org.guake.gschema.xml is being saved to is user executable if guake is installed in userspace so that guake can compile and create gschemas.compiled.

    If the destination for org.guake.gschema.xml cannot be user executable, make sure to include:

    glib-compile-schemas [schema directory]

    In the installation script, replacing [schema directory] with the place org.guake.gschema.xml is being saved.


Release Summary

Fixes the bug when "New Tab" or "Split Terminal" resets colors set by "--bgcolor" command.

Custom colors for every terminal added. Colors are saved alongside with another tab info. "Reset custom colors" menu item added to hte tab context menu.

Adds an option to display only the last directory on the current path as the tab name.

New Features

  • Add tab selection popover in each notebook
  • Add fullscreen hide tabbar option
  • List new features here followed by the ticket number, for example:

- Resetting colors of the current page.
- Setting of background and foreground colors and resetting colors of the focused terminal.

  • Setting of background and foreground colors and resetting colors of the current terminal (not the focused one).
  • Add --select-terminal and --selected-terminal options to Guake CLI
  • Adds an option to display only the last directory on the current path as the tab name.
  • Reworked the tab name selection to use a drop-down menu.
  • Unfullscreen through D-Bus interface, as well as through CLI.

Known Issues

When a user changes a background color of a terminal or a tab, this color is saved, and cannot be reset by changing settings. This is OK. The issue is that the user cannot set color transparency, and the transparency becomes fixed until the terminal colors are reset by the user (with a --reset* command or via the tab context menu.


Translations need to be updated.

Bug Fixes

  • Fix Crash (TypeError) when common keys are found in config #1713
  • Fixes the bug when "New Tab" or "Split Terminal" resets colors set by "--bgcolor" command.
  • Add pew package to Pipfile
  • When composited changed, it will update Guake window visual to make it transparent
  • Fix fullscreen/unfullscreen not handle correctly when trigger by wm
  • Fix search revealer causing terminal unclickable at bottom right
adding a new tab no longer shows the hidden scrollbars on other tabs

  • Remove no need window draw callback
  • Fix make uninstall not cleaning up properly
  • Update some dependencies for build environment
  • Update the error message on missing dependencies (ex: when use 'pip install' guake)

Translation Updates

  • Dutch
  • Polish
  • French


Add a recommendation on how to install Guake from pypi. The best way is to use pipx installer, which install guake in its own virtual environment and create a launcher in ~/.local/bin.


New Features

  • Add drag-n-drop to terminal (text & uris)
  • When scrolling with "shift" (1 page) or "shift + ctrl" (4 pages) it will be faster (#271)

Bug Fixes

  • Add schema_version check for tabs session restore
  • Add save/restore terminal split for tabs session - Save/Restore terminal split by pre-order traversal full binary tree in list
  • Bump tabs session schema_version to 2 (to support terminal split)
  • Lazy restore terminal split until Guake is visible
  • Manage terminal signal handler by handler_ids
  • Avoid spurious resize event when showing fullscreened window
  • Make sure workspace-specific-tab-sets only enable on X11 backend (due to wnck)
  • Add install/uninstall-dev-locale to support dev locale
  • Fix DualTerminalBox grab focus when remove dead child
  • Support customize prefix for make
  • Fix re-focus on terminal after rename dialog destroy
  • Fix split terminal by menu will not follow last terminal cwd (if option set)
  • Fix delete_shell using os.waitpid (should not use it)

Translation Updates

  • German
  • French


New Features

List new features here followed by the ticket number, for example:

- RFE: Open new tab next to current tab #582

Bug Fixes

Respect the XDG Base Directory Specification by supporting XDG_CONFIG_HOME environment variable to find the ~/.config directory.

Translation Updates

  • Czech (thanks @p-bo)
  • Dutch (thanks @Vistaus)
  • Norwegian Bokmål (thanks @comradekingu)
  • Polish (thanks @piotrdrag)
  • Russian (thanks @f2404)

Notes for Package Maintainers

The data directory is back into guake module, in order to prepare for the migration to importlib-resource (#1405). This should simplify a lot the load of resources, and avoid all the complication due to difference in prod/dev/traditional linux/debian customization/...


Bug Fixes

  • Fix search box background so that it will follow current theme
  • Minor build system fixes


Release Summary

This release brings three of the most awaited features on Guake:

  • search in current terminal
  • session saving
  • settings export and import

Our MVC ("Most Valuable Contributor") for this release is Louie Lu (@mlouielu) who worked hard to build these three features in a row! Thank you very much for your hard work !

New Features

  • Add --support option to Guake CLI for user when need to report issue
  • Add save/restore tabs function.
  • Add label parameter to notebook.new_page_with_focus
  • Add search box for terminal. Default hotkey is Ctrl+Shift+F.
  • Add session save preferences for startup/tabs:
  • "restore-tabs-startup": when enabled, it will restore tabs when startup
  • "restore-tabs-notify": when enabled, it will notify user after tabs restored (except startup)
  • "save-tabs-when-changed": when enabled, it will automatically save tabs session when changed (new/del/reorder)

  • Add CLI option to split tab: --split-vertical and --split-horizontal.
  • Save and restore Guake settings

Bug Fixes

  • Add libwnck to bootstrap scripts
  • Fix a need for double toggling to hide when using command line with --show and option with only_show_hide = False.
  • Remove unused logging level setup
  • Fix window-title-changed didn't save tabs
  • fix typo
  • Fix vte-warning when using Vte.Regex.new_for_match
  • Workspaces can now properly save/restore tabs
  • Fix on_terminal_title_changed only searching in current_notebook (it should find every notebook)

Translation Updates

  • fr (French)
  • pl (Polish)
  • added zh_TW (Chinese Traditional). Louie Lu would be very glad to have some help on localizing Guake!
  • ru (Russian)
  • nb (Norvegian)
  • sv (Swedish)
  • nl (Dutch)

Notes for Package Maintainers

Package maintainers should be aware that libwnck (Window Navigator Construction Kit) is now a mandatory dependency of Guake.


Release Summary

This version is mainly a maintaince release, after the big reworks on Guake from last year. I took some delay in fixing Guake due to a growing family. Thanks again for the various contributors who submitted their patches, it helps a lot the whole community. I may be able to find more time in the upcoming months to add even cooler features to our beloved Guake.

New Features

  • new hotkey (CTRL+SHIFT+H) to open new tab in home directory
  • "New tab" button #1471
  • Open new tab by double-clicking on the tab bar
  • Add new context menu on the notebook
  • Add a CLI option to change palette scheme #1345
  • Bold text is also bright (>= VTE 0.52 only)

  • Optional close buttons for tabs (disabled by default)
  • Guake can now provide a set of tabs per workspace

Bug Fixes

  • Reverse transparency slider (to be more meaningful, #1501
  • Fix command-line select tab behavior #1492
  • removed duplicate event bind? previously I had issue where quick-open event would be fired twice because of this.
  • fixes
  • fixes
  • fix unnecessary show/hide
  • fix settings only applied to the active workspace if more the 1 is used
  • fix prompt quit dialog numbers when more then 1 workspace is used

Translation Updates

  • fr
  • de


For Guake translators using weblate, I had to force push because of big conflicts. Some may have loose recent translation in your language. Sorry for that.


Release Summary

This major release provides one of the most awaited feature to every Guake adicts: Split terminal. Split easily vertically and horizontally each terminal and have more than one terminal per tab. There have been several shortcut changes to help navigate easily on your screen: Ctrl+Shift+Up/Down/Left/Right to switch from terminal to terminal. Thanks for you hard work, @aichingm !

New Features

Split and resize terminals via mouse or keyboard shortcuts.


"New terminal" / "Rename terminal" / "Close terminal" items has been removed from the terminal context menu. They are still available on the tab context menu.

Bug Fixes

  • Fix multiline selection right click (#1413)
  • Fix tab name (#1017)
  • fixes jumping preference window (#1149)
  • fix no focus after closing a split terminal (#1421)
  • Add note about shell that does not support --login parameter (#469)

Translation Updates

  • pl (Piotr Drąg on weblate)
  • nl (Heimen Stoffels on weblate)
  • nb (Allan Nordhøy on weblate)
  • ru (Igor on weblate)
  • zh_CN (庄秋彬 on weblate)
  • cs (Pavel Borecki on weblate)
  • de (Robin Bauknecht on weblate)
  • fr (Gaetan Semet)


Release Summary

This release adds a big rewrite of the Terminal underlying mechanism by Mario Aichinger. It will serve as a foundation layer for long-awaiting features such as Split Terminal, Find Text, Save/Load Session, and so on.

New Features

  • add a new option in the context menu (copy url)
  • support for per terminal context menus
  • new more fullscreen handeling
  • load default font via python Gio and not via cli call
  • add json example for custom commands in the code
  • port screen selectino (use_mouse) to Gdk
  • add notification for failed show-hide key rebindings
  • add one-click key binding editing
  • port word character exceptions for newer vte versions
  • use Gtk.Box instead of Gtk.HBox
  • use Gtk.Notebook's tabs implementation
  • enable tab switching by scrolling (mouse wheel) over the tabs/tab-bar

Bug Fixes

  • fixes Settings schema 'guake.general' does not contain a key named 'display_n'
  • fixes guake --fgcolor/--bgcolor error (#1376).

Translation Updates

  • fr (thanks samuelorsi125t and ButterflyOfFire)
  • ru (thanks Igor)
  • pl (thanks Piotr Drąg)
  • cz (thanks Pavel Borecki)
  • de (thanks Dirk den Hoedt and Mario Aichinger)
  • gl (thanks Nacho Vidal)

Notes for Package Maintainers

Please note libutempter0 should now be considered as a mandatory dependency of Guake. It solves the frozen terminal issue on exit (#1014)


Bug Fixes

Travis build cleaned build artifacts before deployment, leading to missing files when built in the CI.


Release Summary

This minor release mainly fix some issues when installing Guake though pip install --user --upgrade guake. A big thanks also to everyone who contributed to the translations on Weblate.

Bug Fixes

  • Don't translate application icon (this finally fixes Guake application icon not being displayed with German locale, which was only partially resolved with #1320)
  • Install of Guake through pip install was broken (missing Now fixed. Discarded generation of bdist. (fix

Translation Updates

  • sv (thanks to @MorganAntonsson)
  • de (thanks to @rzimmer)
  • fr
  • ru (thanks Igor "f2404" on Weblate)
  • cz (thanks Pavel Borecki on Weblate)
  • pl (thanks Piotr Drąg on Weblate)
  • it (thanks Maurizio De Santis on Weblate)


Update about screen's credits


New Features

pip install guake now compiles the gsettings schema and finds its languages automatically.

Bug Fixes

  • Wayland is a bit more well supported. The X11 backend is now used by default for GDK and it seems to make the shortcut works under most situation.

    A more cleaner solution would be to develop a GAction (vote for this feature here])

  • A new command has been added: guake-toggle, should be faster than guake -t. You can use it when you register the global shortcut manually (X11 or Wayland).


Bug Fixes

  • Fix transparency regression on ubuntu composite (#1333)
  • Fix transparency issue
  • Fix right-click on link
  • Fix bad css override on check tab background (#1326)
  • Fix Guake application icon not displayed with German locale
  • fix ctrl+click on hyperlinks on VTE 0.50 (#1295)
  • Fixed "Gruvbox Dark" color palette (swapped foreground and background)
  • Swapped foreground and background colors for palettes added in commit #58842e9.


Add option groupes to the bootstrap scripts


New Features

Thanks to @arcticicestudio, a new nice, clean new palette theme is available for Guake users: Nord (#1275)

Known Issues

  • Multiline url are sometimes not handled correctly.
  • Users of Byobu or Tmux as default shell should disable the "login shell" option (in the "Shell" panel). This uses an option, --login, that does not exist on these two tools.

Bug Fixes

  • Fix duplication in theme list (#1304)
  • Fix right click selection in Midnight Commander
  • Corrected usage of Vte.Regex.new_for_match to fix regular expression matching (hyperlinks, quick open) on VTE >0.50 (#1295)
  • URL with ' (simple quote) and () (parenthesis) are now captured by hyperlink matcher. This may causes some issues with log and so that use parenthesis around hyperlinks, but since parenthesis and quotes are valid characters inside a URL, like for instance URL created by Kibana, they deserve the right to be shown as proper url in Guake.

    User can still select the URL in the terminal if he wishes to capture the exact url, before doing a Ctrl+click or a right click.

    For developers, it is advised to end the URL with a character that cannot be used in URL, such as space, tab, new line. Ending with a dot (.) or a comma (,) will not be seen as part of the URL by Guake, so most logs and traces that adds a dot or a comma at the end of the URL might still work.

  • Fix "Grubbox Dark" theme

Translation Updates

  • fr
  • pl
  • ru


Rework the documentation. The README grew up a lot and was hard to use. It has been cut into several user manual pages in the official online documentation.


New Features

  • Allow user to select the theme within the preference UI
  • Selected tab use "selected highlight" color from theme (#1036)

Translation Updates



New Features

Quick open displays a combobox with predefined settings for Visual Studio Code, Atom and Sublime Text.

Bug Fixes

Fix hyperlink VTE


Release Summary

This version of Guake brings mostly bug fixes, and some new features like "Quick Open on selection". I have also reworked internally the Quick Open so that it can automatically open files from logs from pytest and other python development tools output. However, there might still some false positive on the hovering of the mouse in the terminal, the most famous being the output of ls -l which may have the mouse looks like it sees hyperlinks on the terminal everywhere. Click does nothing but its an annoying limitation. Package maintainers should read the "Notes for Package Maintainers" of this release note carefully.

New Features

  • New "start at login" option in the settings (only for GNOME) #251
  • Add --verbose/-v parameter to enable debug logging. Please note the existing -v (for version number) has been renamed -V.
  • Support for hyperlink VTE extension (described here ) #945 (Untested, as it requires VTE 0.50)
  • Add great color palettes from Guake Color Scheme, thanks for @ziyenano :
  • Aci,
  • aco,
  • Azu,
  • Bim,
  • Cai,
  • Elementary,
  • Elic,
  • Elio,
  • Freya,
  • Gruvbox Dark,
  • Hemisu Dark,
  • Hemisu Light,
  • Jup,
  • Mar,
  • Material,
  • Miu,
  • Monokai dark,
  • Nep,
  • One Light,
  • Pali,
  • Peppermint,
  • Sat,
  • Shel,
  • Tin,
  • Ura,
  • Vag.

Allow application to capture right click (ex: Midnight commander). #1096. It is still possible to show the contextual menu with Shift+right click.

Bug Fixes

  • delete tab even without libutempter (#1198)
  • Fix crash when changing command file #1229
  • fix import sys in
  • change scope of which_align variable in (#1225)
  • Fix several issues on Quick Edit:
  • quick open freezes guake
  • support for systems with PCRE2 (regular expression in terminal) disabled for VTE, like Ubuntu 17.10 and +.

    This might disable quick open and open url on direct Ctrl+click. User can still select the wanted url or text and Cltr+click or use contextual menu.

    See this discussion on Tilix, another Terminal emulator that suffurs the same issue.

  • quick open now appears in contextual menu (#1157)
  • bad translation update on the contextual menu. This causes new strings that was hidden to appear for translators.
  • Fix quick open on pattern "File:line" line that was not opening the wanted file.

  • Fix user interface translations #1228
  • Some systems such as Ubuntu did displayed Guake with a translated interface (#1209). The locale system has been reworked to fix that.
  • There might be broken translations, or not up-to-date language support by Guake. A global refresh of all existing translations would be welcomed. Most has not been updated since the transition to Guake 3, so these languages support might probably be unfunctional or at least partialy localized.
  • A big thank you for all the volunteers and Guake enthousiats would often update their own translation to help guake being used world-wide. - Help is always welcomed for updating translations !
  • Support for vte 2.91 (0.52) #1222

Translation Updates

  • fr_FR
  • pl
  • de

Notes for Package Maintainers

The setup mechanism has changed a little bit. Some maintainers used to patch the source code of Guake to change the pixmap, Gtk schema or locale paths directly in the guake/ file. This was due to a lack of flexibility of the installation target of the Makefile.

The make install target looks now a little bit more familiar, allowing distribution packager to set the various paths directly with make flags.

For example:

sudo make install \

prefix=/usr \
DESTDIR=/path/for/packager \

The main overrides are:

  • IMAGE_DIR: where the pixmap should be installed. Default: /usr/local/share/guake/pixmaps
  • localedir: where locales should be installed. Default: /usr/local/share/locale
  • GLADE_DIR: where the Glade files should be installed. Default: /usr/local/share/guake
  • gsettingsschemadir: where gsettings/dconf schema should be installed. Default: /usr/local/share/glib-2.0/schemas/

I invite package maintainers to open tickets on Github about any other difficulties encountered when packaging Guake.


Bug Fixes

Hotfix of #1198 (Ctrl+D in the terminal does not close) and #1014 (guake hangs on exit)


Bug Fixes

  • Apply cursor blinking to new tabs as well, not only on settings change.
  • Fix window losefocus hotkey #1080
  • Fix refocus if open #1188
  • fix preferences window header color, align the close button more nicely and change borders to margins
  • Implements a timestamp for wayland (#1215)


New Features

  • Add window displacement options to move guake away from the screen edges
  • User can manually enter the name of the GTK theme it wants Guake to use. Note there is no Preference settings yet, one needs to manually enter the name using dconf-editor, in the key /apps/guake/general/gtk-theme-name. Use a name matching one the folders in /usr/share/themes. Please also considere this is a early adopter features and has only been tested on Ubuntu systems. Dark theme preference can be se with the key /apps/guake/general/gtk-prefer-dark-theme.
  • Allow make install-system to be run as non root user and print a message if so.
  • Quick open can now open file under selection. Simply select a filename in the current terminal and do a Ctrl+click, if the file path can be found, it will be open in your editor. It allows to virtually open any file path in your terminal (if they are on your local machine), but requires the user to select the file path first, compared to the Quick Open feature that finds file names using regular expression.

    Also notes that is it able to look in the current folder if the selected file name exists, allowing Ctrl+click on relative paths as well.

    Line number syntax is also supported: filename.txt:5 will directly on the 5th line if your Quick Open is set for.

Bug Fixes

  • fixes issue with vertically stacked dual monitors #1162
  • Quick Open functionality is restored #1121
  • Unusable Guake with "hide on focus lose" option #1152
  • Speed up guake D-Bus communication (command line such as guake -t).


Release Summary

This minor release mainly focus on fixing big problems that was remaining after the migration to GTK3. I would like to akwonledge the work of some contributors that helped testing and reporting issues on Guake 3.0.0. Thanks a lot to @egmontkob and @aichingm.

The Preference window has been deeply reworked and the hotkey management has been rewritten. This was one the the major regression in Guake 3.0.

New Features

  • [dev env] automatically open reno slug after creation for editing
  • [dev env]: Add the possibility to terminate guake with Ctrl+c on terminal where Guake has been launched
  • Add "Infinite scrolling" option in "Scrolling" panel #274
  • Added hotkey for showing and focusing Guake window when it is opened or closed. It is convenient when Guake window are overlapped with another windows and user needs to just showing it without closing and opening it again. #1133

Known Issues

Quick Edit feature is not working (#1121)


Remove visible bell feature #1081

Bug Fixes

  • Command options do not work, crash when disabling keybinding #1111
  • Do not open Guake window upon startup #1113
  • Fix crash on increase/decrease main window height shortcut #1099
  • Resolved conflicting default shortcut for Ctrl+F2 (now, rename current tab is set to Ctrl+Shift+R) #1101, #1098
  • The hotkey management has been rewritten and is now fully functional
  • Rework the Preference window and reorganize the settings. Lot of small issues has been fixed. The Preference window now fits in a 1024x768 screen.
  • Fix 'Failed to execute child process "-"' - #1119
  • History size spin is fixed and now increment by 1000 steps. Default history value is now set to 1000, because "1024" has no real meaning for end user. #1082

Translation Updates

  • de
  • fr
  • ru


  • The dependencies of the Guake executable has been slightly better described in README. There is an example for Debian/Ubuntu in the file which is the main environment where Guake is developed and tested.
  • Package maintainers are encouraged to submit their bootstrap-dev-[distribution].sh, applicable for other distributions, to help users install Guake from source, and other package maintainers.


New Features

Preliminary Dark theme support. To use it, install the 'numix' theme in your system. For example, Ubuntu/Debian users would use sudo apt install numix-gtk-theme.

Known Issues

Cannot enable or disable the GTK or Dark theme by a preference setting.


Resizer discontinued

Bug Fixes

  • Fix sudo make uninstall/install to work only with /usr/local
  • Fix translation mo file generation
  • Fix crash on Wayland
  • Fix quick open and open link in terminal
  • Fixed Guake initialization on desktop environment that does not support compositing.


Release Summary

Minor maintenance release.

Bug Fixes

Code cleaning and GNOME desktop file conformance


Release Summary

Guake has been ported to GTK-3 thanks to the huge work of @aichingm. This also implies Guake now uses the latest version of the terminal emulator component, VTE 2.91. Guake is now only working on Python 3 (version 3.5 or 3.6). Official support for Python 2 has been dropped. This enables new features in upcoming releases, such as "find in terminal", or "split screen".

New Features

Ported to GTK3:
  • cli arguments
  • D-Bus
  • context menu of the terminal, the tab bar and the tray icon
  • scrollbar of the terminal
  • ctrl+d on terminal
  • fix double click on the tab bar
  • fix double click on tab to rename
  • fix clipboard from context menu
  • notification module
  • keyboard shortcuts
  • preference screen
  • port gconfhandler to gsettingshandler
  • about dialog
  • pattern matching
  • Guake.accel* methods

Guake now use a brand new build system:
  • pipenv to manage dependencies in Pipfile
  • enforced code styling and checks using Pylint, Flake8, Yapf, ISort.
  • simpler release management thanks to PBR

  • [dev env] reno will be used to generate release notes for Guake starting version 3.0.0. It allows developers to write the right chunk that will appear in the release note directly from their Pull Request.
  • the active tab changes
  • the active tab is renamed
  • the vte title changes

Known Issues

  • Translation might be broken in some language, waiting for the translation file to be updated by volunteers
  • Resizer does not work anymore
  • Package maintainers have to rework their integration script completely
  • quick open and open link in terminal is broken
  • Note for package maintainers: Guake 3 has a minor limitation regarding Glib/GTK Schemas files. Guake looks for the gsettings schema inside its data directory. So you will probably need install the schema twice, once in /usr/local/lib/python3.5/dist-packages/guake/data/ and once in /usr/share/glib-2.0/schemas (see #1064). This is planned to be fixed in Guake 3.1

Upgrade Notes

Minor rework of the preference window.


  • Background picture is no more customizable on each terminal
  • Visual Bell has been deprecated

Translation Updates


Version 0.8.11

Maintenance release with bug fixes and translation updates.

  • #885 revert to the old fixed-width tabs behavior
  • move the startup script setting to the hooks tab
  • #977 Add a configuration toggle to disable windows refocus
  • #970 Right-click tab options don't work properly
  • #995 Russian translation
  • #983 French translation
  • #986 Update German translation

Version 0.8.10

Minors Bug fixes and new Ocean and Oceanic Next color schemes.

Version 0.8.9

Thanks for guakers for the following contibutions:

New features:

  • #793, #876: Execute a script on display event
  • #864: Add preference dialog checkbox for toggling 'resizer' visibility
  • #885: tabs share the full screen width
  • #942: Quick open also matches /home path
  • #933: Add -l option to get tab label

Bug Fixes

  • #934: Quick open does not work with dash
  • #893, #896, #888: another Unity screen size fix
  • Translation update: ja (#875), cn (#955), nl (#931), pt (#895),

Version 0.8.8

Thank to these contribution from Guake users, I am happy to announce a new minor fix release of Guake.


Close a tab with the middle button of the mouse

Bug Fixes:

  • Fix error when toggle key was disabled
  • Update change news
  • Uppercase palette name
  • Fix pylint errors
  • Convert README badge to SVG
  • Update Japanese translation
  • update Russian translation
  • updated CS translation
  • Update zh_CN translation

Version 0.8.7

Do not forget to update the software version

Version 0.8.6

Lot of bug fixes in this release. Thanks for all contributors !

Please note that it is not tested on dual screen set ups.

Bug fixes:

  • Terminal geometry fixes (#773 @koter84, #775 RedFlames, b36295 myself)
  • Fix "changing max tab length" set all tab to same title
  • Fix on terminal kill (#636, @coderstephen)
  • Typo/Cosmetics (#761, @thuandt)
  • Fix the bottom of tab buttons being cut off in Gnome (#786 @lopsided98)
  • Fix fullscreen follow mouse (#774 @koter84)
  • Option to shorten VTE tab name (#798 @versusvoid)
  • Updated translations:
  • french (b071b4, myself)
  • russian (#787 @vantu5z),
  • corean (#766 @nessunkim),
  • polish (#799 @piotrdrag)

Version 0.8.5

Minor version today, mostly minor bug fixes and translation update.

I did have time to work on GTK3, maintaining Guake to keep using GTK2 is more and more difficult, Travis kind of abandoned the compatibility of PyGtk2.

  • Add a shortcut to open the last tab (#706, thanks @evgenius)
  • Fix icon size on Ubuntu (#734)
  • Add tab UUID and selection by UUID (#741, thanks @SoniEx2, @Ozzyboshi)
  • Updated Polish (#705), Chinese (#711), German (#732), Brazil Portuguese (#744), Czech (#747)
  • Fixed doc (#709, #706)
  • Fix some Pep8 issue

Version 0.8.4

Bug fixes:

  • Very big icon tray (#598, @thardev)
  • Feature keyboard shorcut hide on lose focus (#650, #262, #350, @thardev)
  • Endless transparency and small rework of hide on lose focus (#651, @thardev)
  • fix tray icon does not align in center (#663, @wuxinyumrx)
  • Updated pt_BR translation (#686, @matheus-manoel)
  • improved Bluloco theme readability (#693, @uloco)
  • ensure gsettings process is well kill (#636)
  • fix exception in preference panel

Version 0.8.3

Quick fix about missing svg file

Version 0.8.2

Bug fix version. Thanks for external contributions!


new palette 'Bluloco' (my default one now!) (@uloco)

Bug fixes:

  • tab bar width (@ozzyboshi)
  • open new tab in current directory (#578, @Xtreak)
  • fix default interpreter (#619, @Xtreak)
  • fix use VTE title (#524, @Xtreak)
  • Russian translation (@vantu5z), german (@Airfunker), spanish (@thardev) chinese (@Xinyu Ng)
  • fix guake cannot restore fullscreen (#628, @thardev)

Version 0.8.1

I started working on Guake 1.0.0, and not in a dedicated branch. It is now in its own source folder. We clearly need to move to gtk3 soon, since GTK2 is being discontinued, the VTE is no more maintained for GTK2-Python, and adds lot of cool features.

So I am now starting to work on a complete rewrite of Guake, so don't expect 0.8.x to see lot of new features, unfortunately. But Guake 1.0.0 will add features such as:

  • line wrap in terminal
  • search in terminal
  • dconf/gsettings to store configuration
  • GTK3 look and feel
  • much cleaner build and translation systems

But, this means I cannot work too much on 0.8.x. I still do some bug fixes, and thanks to external contributors that share the love for Guake, Guake 0.8 still moves on!

So don't hesitate to have a look in the code to fix any bug you are experiencing and submit a Pull Request.

New features:

  • a-la guake-indicator custom commands (#564) - by @Ozzyboshi!
  • Add option to allow/disallow bold font (#603) - by @helix84!
  • Clean current terminal item in contextual menu (#608) - by @Denis Subbotin

Bug fixes:

  • Terminal widget disappears at random times (#592)
  • Typo - by @selivan, @Ruined1

Version 0.8.0

I have been extremely busy the previous 3 months, so I have almost not worked on Guake. I wanted to introduce in the next version some major features heavily asked, like session save and split terminal. They will have to wait a bit more.

As a result, most of the contribution are from external contributors. Thank you very much for all these patches!

This releases introduces two major changes in the project, thus the minor version change.

First, the new homepage is now online:

As I remind you, Guake has not control over the old domain So far the content is still one of the old content of this domain. So please use to reference Guake.

Source code of the Web site can be found here:

The second major change in the project is the abandon of our internal hotkey manager globalhotkey, which was responsible for binding hotkeys globally to the window manager. This piece of code was extremely old and hard to maintain. This was also unnecessarily complexifying the build process of Guake. Thanks to the contribution of @jenrik, we are now using a pretty common package keybinder (Ubuntu: python-keybinder).

Bug fixes:

  • Guake fails to start due to a GlobalHotkey related C call fixed by replacing GlobalHotkeys with keybinder. Fixed by @jenrik. (#558, #510)
  • Fix icon issue with appindicator (#591)
  • swap terms correctly when moving tabs (#473, #512, #588)
  • Remove last reference to --show-hide (#587)
  • fixed and completed german translation (#585)
  • Drop duplicated man page (a526046a)
  • use full path to tray icon with libappindicator (#591)

Version 0.7.2 (2015.05.20)

Bug fixes:
  • Fix Ctrl+D regression (#550)
  • update Quick Open Preference Window

Version 0.7.1 (2015.05.18):

Some bug fixes, and cleared issues with new palette colors.

As side note, our domain '' has been squatted by an outsider that seems only interested in getting money to release the domain. Since Guake is a small project, based on 100% OpenSource spirit, we do not want to loose more time on this subject. The guake website will be deployed soon on a new URL:

Please do NOT use anymore, until we can retrieve it. We cannot be hold responsible for any content on anymore.

Bug fixes:

  • Background and font color inversed for some color schemes (#516)
  • Guake width wrong on non-Unity Ubuntu desktop (#517)
  • Add get_gtktab_name dbus interface (#529, #530)
  • Fix issue with selection copy (#514)
  • I18n fixes and updated Polish translation (#519). Thanks a lot @piotrdrag!
  • Remove add and guake icon in tab (#543)
  • prompt_on_close_tab option (#546) Thanks a lot @tobz1000!
  • Fix default shortcuts for move tabs

Version 0.7.0 (2015.05.02):

I had more time working on Guake recently, so I fixed some long term issues, and exposed some internal settings into the preference window.

Thanks for the external contribution: @varemenos, @seraff and others!

Here is the complete changelog for this release:

  • Reorganised palette definition, add a demo terminal in preference panel (#504, #273, #220)
  • Plenty of other new color palettes (thanks again @varemenos ! #504)
  • don't propagate COLORTERM environment variable in terminal (#488)
  • Force $TERM environment variable to 'xterm-256color' in terminals (#341)
  • Fix issue with the quit confirmation dialog box (#499)
  • Add shortcut for transparency level (#481)
  • Add label to tell user how to disable a shortcut (#488)
  • Expose cursor_shape and blink cursor method in pref window (#505)
  • Expose Guake startup script to the pref window (#198)
  • Some window management bug fixes (#506, #445)
  • Fix "Not focused on opening if tab was moved" (#441)
  • Add contextual menu item 'Open Link' on right click on a link (5476653)
  • Fix compatibility with Ubuntu 15.04 (#509)
  • Fix Guake Turns Gray sometimes (#473, #512)

Version 0.6.2 (2015.04.20):

Packaging issue fixes

Version 0.6.1 (2015.04.19):

bug fixes

Version 0.6.0 (2015.04.18):

This version is poor in new feature, I just don't have time to work on Guake. I got a lot of incompatibility reports on new systems, such as Wayland. Port to gtk3 is still a must have, but all features of the VTE component does not seem to have been ported.


  • Save current terminal buffer to file
  • Hotkeys for moving tab
  • plenty of color palettes (thanks @varemenos !)
  • bug fixes

Version 0.5.2 (2014.11.23):

  • bug fixes
  • Disable the 'focus_if_open' feature (hidden trigger, true per default). Restaure focus does not work in all systems.
  • lot of "componentization" of the code, in preparation to the rebase of 'gtk3' branch.

Version 0.5.1 (2014.11.06):

minor bug fixes release

Version 0.5.0 (2014.02.22):

  • Tab can be moved
  • Add change tab hotkey (F1-F10 by default) and is display on tab
  • Add "New tab" menu item
  • Quick open file path within the terminal output
  • gconf only settings:
  • startup scripts
  • vertical aligments

  • minor bug fixes
  • New maintainer:
Gaetan Semet <>

  • @koter84
  • @kneirinck

Versions < 0.5.0

changes since 0.4.4:

  • Custom tab titles are no longer overridden by VTE ones (rgaudin)
  • Absent notifications daemon is no longer fatal
  • Fix for <Ctrl>key hotkeys being recorded as <Primary>key (Ian MacLeod)
  • Font resizing using <Ctrl>+ and <Ctrl>- (Eiichi Sato)
  • D-Bus and commandline interface improvements
  • L10n:
  • Norwegian Bokmål po file renamed to nb_NO.po (Bjørn Lie)
  • Added translations: Croatian, Czech, Dutch, Galician, Indonesian, Ukrainian.
  • Updated translations: Catalan, French, German, Hungarian, Spanish, Swedish.

changes since 0.4.3:

  • New icon for both guake and guake-prefs
  • Improved build scripts for themable icon installation
  • Updated some autotools files
  • Fixing a typo in the guake-prefs.desktop file (Zaitor)
  • wm_class can't be get by gnome-shell css #414
  • Add the missing "System" category required by FDO menu specification (Jekyll Wu)
  • Do not install the system-wide autostart file (Jekyll Wu)
  • Call window.move/resize only when not in fullscreen mode #403 (Empee584)
  • Terminal scrolls to the wrong position when hiding and unhiding in fullscreen mode #258 (Empee584)
  • Toggle fullscreen malfunction #371 (Empee584 & Sylvestre)
  • Guake overlapped the second screen in a dual-monitor setup with a sidepanel (Sylvestre)
  • Tree items in Keyboard shortcuts tab of preferences window not localized #280 (Robertd)
  • Add option to start in fullscreen mode #408 (Dom Sekotill)
  • Refactoring of the fullscreen logic and addition of the --fullscreen flag (Marcel Partap)

changes since 0.4.2:

  • Better tab titling, based on VTE title sequences (Aleksandar Krsteski & Max Ulidtko)
  • Some drag & drop support (Max Ulidtko)
  • Fix for the many times reported "gconf proxy port as int" issue (Pingou)
  • Better file layout which doesn't modify PYTHONPATH (Max Ulidtko)

Updated translation and new translation:

  • Russian (Vadim Kotov)
  • Spanish (Ricardo A. Hermosilla Carrillo)
  • Japanese (kazutaka)
  • Catalan (el_libre como el chaval)

changes since 0.4.1:

Updated translations and new translations (unsorted):

  • Norwegian (wty)
  • Turkish (Berk Demirkır)
  • Swedish (Daniel Nylander)
  • Persian (Kasra Keshavarz)
  • French (Bouska and Pingou)
  • Russian (Pavel Alexeev and vkotovv)
  • Polish (Piotr Drąg)
  • Spanish, Castilian (dmartinezc)
  • Italian (Marco Leogrande a.k.a. dark)
  • Chinese simplified (甘露, Gan Lu)
  • Portuguese/Brazilian (Djavan Fagundes)
  • Japanese (kazutaka)
  • Punjabi (A S Alam)


  • Calling the hide() method when closing main window: #229 (Lincoln)
  • Fixing dbus path and name for the RemoteControl object: #202 (Lincoln)
  • Setting http{s,}_proxy vars before calling fork_command: #172 (Lincoln)
  • Adding the
    fr' lang to ALL_LINGUAS: #189 (Lincoln)
  • Option to configure the color palette: #51 (Eduardo Grajeda)
  • Do not hide when showing rename dialog (Aleksandar Krsteski)
  • Fixing the tab renaming feature: #205 (Lincoln)

changes since 0.4.0:

Updated translation and new translation:

  • Italian
  • French
  • Portuguese/Brazilian
  • Novergian
  • German
  • Polish
  • Greek
  • Hungarian


  • Change start message #168
  • Add an option to the preference windows to create new tab in cwd #146
  • Preferences windows are resizable #149
  • Guake's windows not shown when ran for the first time #174
  • Implement dbus interface to script with guake #150, #138, #105, #126, #128, #109
  • Command line arguments implemented -n create a new tab -e execute a command on a defined tab -r rename a tab -t toggle visibility
  • Improve regex to use character classes (improve the support of certain locales) #156
  • Ask user if he really wants to quit when there is a child process #158
  • Double click on a tab allows you to rename the tab #165
  • Add more information on the INSTALL file
  • Tray icon position fixed #161


changes since 0.2

  • Making prefs dialog window better, including a better title, fixing some paddings and spaces.
  • Added backspace and delete compatibility options (thanks to gnome-terminal guys =)
  • Cleanup of data files (images and glade files), mostly images.
  • Complete rewrite of tab system in the main window.
  • Fixing all issues (I think =) in close tab feature.
  • Adding tab rename feature.
  • Making easier to grab keybinging shortcuts from the prefs screen by using eggcellrendererkeys lib.
  • Now we look for more python interpreters when filling interpreters combo.
  • Fixing a lot of bugs.



Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.


Basic Details

If you would like to contribute to the development of Guake, here are some general information.

Found a Bug?

Before opening a new issue, please read the following:

  • for feature requests, please use FeatHub ). This allow us to spot directly which are the most requested features.
  • A Bountysource page also exists for requesting new features for Guake.
  • before opening a new bug, please search for a similar one in the GitHub Issues .

Submitting a Pull Request

Please follow these steps before submitting a new Pull Request to Guake:

  • rebase on latest HEAD with git pull rebase upstream master
  • describe your change in the pull request
  • execute the code styling, checks and unit tests using: $ make style check reno-lint test
  • add a slug in release note using $ make reno SLUG=<short_name_of_my_feature> and edit the created file in releasenotes/notes/.

    You can see how reno works using pipenv run reno --help. Please use a generic slug (eg, for translation update, use translation)

Release Procedure

  • Ensure requirements.txt is up to date with the Pipfile.lock, or we will have dev0 version generated
  • Merge all translation from Weblate
  • Generate the release notes, and updates NEWS.rst with the upcoming release.
  • Ensure this pull request build.
  • Merge
  • Tag with the same version

Setting up the development environment

Before building the code, please ensure the dependencies are installed:

  • GTK: >=3.18
  • VTE: 2.91
  • libkeybinder3

See full list of dependencies on the Dependencies page.

The following section describes how to install these dependencies on some systems, please be aware it might not be applicable to yours directly.

Install System dependencies


Execute the following command to bootstrap all needed system dependencies:

$ ./scripts/



$ ./scripts/

Arch Linux


$ ./scripts/

Setup development environment

Install the dependencies of your system and use the following commands:

$ make dev
$ sudo make install-schemas  # still required even for local execution

You can force the interpreter version using the PYTHON_INTERPRETER variable:

$ make dev PYTHON_INTERPRETER=python3.6

Local execution of guake (without system-wide install):

$ make run

Install on system

Use the following command to build and install on your system (in /usr/local/):

$ make dev && make && sudo make install

You can reinstall easily in your environment (only validated for Debian/Ubuntu) with:

$ make reinstall  # will execute `sudo`

Git hook

Please install this git hook if you want to beautify your patch before submission:

$ make setup-githook

Hacking Guake


First, be sure to use a version of Python 3 where GTK and GObjects works in your system. For instance, under Ubuntu 17.04, PyGtk and python3-gi does not work well if the default python 3 interpreter is forced to Python 3.6.

Operating System Recommended Python version Notes
Ubuntu 14.04 LTS Python 3.4 (UNTESTED)
Ubuntu 16.04 LTS Python 3.5 (TESTED)
Ubuntu 17.04 Python 3.5 (TESTED)
Ubuntu 17.10 Python 3.6 (TESTED) Quick Open disabled (#1230)

Validate your code

We are strict on code styling, with pep8 and pylint running automatically in GitHub Actions in order to reject badly shaped patches. Please use the following command to validate all python files:

$ make style  # fix the style of python files
$ make check  # static code analysis
$ make test   # unit test campaign
$ make dists  # make distribution packages

Update translation

Update all translation files:

$ make update-po

Install the translations files:

$ sudo make install-locale

Then use your favorite po editor, such as poedit.

Start Guake with a different locale (locales should be installed):

$ LC_ALL=fr_FR.UTF8 make run

Update NEWS

Update the NEWS file using the followng command:

make release-note-news

The ChangeLog files is not maintained but instead automatically generated by PBR when building the distribution packages.

Same goes for the ChangeLog file.


Versioning is automatically done using git tags. When a semver tag is pushed, a new version is automatically created by PBR.

PBR also has some magic to generate the version automatically from sem-ver tag found in the commit message. See the Makefile's tag-pbr target.

GitHub Actions build

GitHub Actions automatically check pull requests are compiling and check for code style.

Status of the latest build:

Help for Package maintainers

This page is primarily targeted to package maintainers, willing to build and distribute Guake inside a Linux Distribution, such as Debian, Arch, Fedora, and so on.

It gives some information about how Guake is built.


System dependencies

Here are the system dependencies of Guake for its execution:

Optional dependencies:

  • libutempter0: compatibility with wall or screen commands
  • Any GTK theme: numix-gtk-theme, ...

Python dependencies

The complete list of Python packages Guake requires for its execution is descripbed in the Pipfile, section packages.


The Team is willing to see Guake available on every major Linux distribution. Do not hesitate to contact us through GitHub Issue or directly by email (gaetan [at] if you see any issue when packageing Guake.

The major compatibility issues we experience if with the different version of VTE. We try to integrate new cool VTE features when they are ready, and protect them with test on the version installed on the user's environment, but there may still be mistakes made, breaking the software for a given environment. Do not hesitate to warn us for that!

  • Source Code available on GitHub.
  • Official Homepage:
  • Online Documentation is hosted on ReadTheDocs.
improving its translations in your language. Guake users are welcome to support Weblate in providing this service for free for OpenSource Projects.

Important note: Do NOT use the domain, it has been registered by someone outside the team. We cannot be held responsible for the content on that web site.


Gaetan Semet


2022, Gaetan Semet

October 30, 2022 1.0