guake(1)

A drop-down terminal for GNOME environment

Section 1 guake bookworm source

Description

GUAKE

NAME

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

Appears when you call and disappears once you are done by pressing a
predefined hotkey (F12 by

default)

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

USER MANUAL

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

TBD:

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,...

Auto-start

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.

NOTE:

You need to restart Guake after changing the GTK theme.

Quick Open, hyperlink and Search on web

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.

Quick-Open

[image]

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;;http://example.com\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

TBD

DBus commands

The major features of guake are available on DBus.

Tab UUID

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.

Fedora

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

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

You need to have some dependencies installed on your system:

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:

First, DO NOT USE TARBALLS GENERATED BY GITHUB on the Release Page. They

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:

$ git clone https://github.com/Guake/guake.git

make sure that you have the needed system dependencies (Python GTK, VTE,
...)

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:

guake-toggle

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 archlinux.org, 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 setup.py, 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] xeberon.net.

PROJECT INFORMATION

History of the Project

TBD: history of the project

Guake Change Log

3.8.5

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

Other

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)

3.8.4

Unreleased.

3.8.3

Unreleased.

3.8.2

Unreleased.

3.8.1

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

3.8.0

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

fi

3.8.0.0rc1

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 https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location

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

Revive GUAKE_TAB_UUID

New Features

Allow reset of show-hide hot key in preferences

Add guake background image

adds a new color theme named "Galizur"

adds the Shades of Purple converted from https://github.com/ahmadawais/shades-of-purple-iterm2

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.

Deprecations

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.

3.7.0

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.
Resetting colors of the current page. Managing background and foreground
colors of the current terminal. --reset-colors, --bgcolor-focused,
--fgcolor-focused and

--reset-colors-focused command line arguments added.

--bgcolor-focused, --fgcolor-focused and --reset-colors-focused command
line arguments

renamed to --bgcolor-current, --fgcolor-current and --reset-colors-current respectively.

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.

Deprecations

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

Other

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.

3.6.3

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

3.6.2

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/...

3.6.1

Bug Fixes

Fix search box background so that it will follow current theme

Minor build system fixes

3.6.0

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.

3.5.0

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)

guake --split-vertical and --split-horizontal split the current

tab just like the context menu does

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

Other

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.

3.4.0

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.

Deprecations

"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)

3.3.3

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)

3.3.2

Bug Fixes

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

3.3.1

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 paths.py). 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)

Other

Update about screen's credits

3.3.0

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).

3.2.2

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.

Other

Add option groupes to the bootstrap scripts

3.2.1

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

Other

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.

3.2.0

New Features

Allow user to select the theme within the preference UI

Selected tab use "selected highlight" color from theme (#1036)

Translation Updates

fr

3.1.1

New Features

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

Bug Fixes

Fix hyperlink VTE

3.1.0

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 simplegladeapp.py

change scope of which_align variable in pref.py (#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/globals.py 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 \
PYTHON_SITE_PACKAGE_NAME=site-package \
localedir=/usr/share/locale

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.

3.0.6

Bug Fixes

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

3.0.5

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)

3.0.4

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).

3.0.3

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)

Deprecations

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

Other

The dependencies of the Guake executable has been slightly better described in README. There is an example for Debian/Ubuntu in the file bootstrap-dev-debian.sh 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.

3.0.2

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.

Deprecations

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.

3.0.1

Release Summary

Minor maintenance release.

Bug Fixes

Code cleaning and GNOME desktop file conformance

3.0.0

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.

Update Guake window title when:

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.

Deprecations

Background picture is no more customizable on each terminal

Visual Bell has been deprecated

Translation Updates

fr-FR

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.

Features:

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!

Feature:

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:

http://guake-project.org/

As I remind you, Guake has not control over the old domain guake.org. So far the content is still one of the old content of this domain. So please use http://guake-project.org to reference Guake.

Source code of the Web site can be found here:

https://github.com/Guake/guake-website

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 'guake.org' 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:

http://guake-project.org

Please do NOT use guake.org anymore, until we can retrieve it. We cannot be hold responsible for any content on guake.org 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.

Features:

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 <gaetan@xeberon.net>

Contributors:

@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)

Bugs/Features:

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

Bugs/Features:

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

Infrastructure:

Move from guake-terminal.org to guake.org

Set up a mailing-list at: http://lists.guake.org/cgi-bin/mailman/listinfo/guake

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.

License

GNU GENERAL PUBLIC LICENSE

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.

CONTRIBUTING TO GUAKE

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

Ubuntu

Execute the following command to bootstrap all needed system dependencies:

$ ./scripts/bootstrap-dev-debian.sh

Fedora

Execute:

$ ./scripts/bootstrap-dev-fedora.sh

Arch Linux

Execute:

$ ./scripts/bootstrap-dev-arch.sh

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

Contributing

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.

Image grohtml-96133-1.png

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

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: https://github.com/Guake/guake/actions

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.

Dependencies

System dependencies

Here are the system dependencies of Guake for its execution:

GTK: >=3.18

VTE: 2.91 (>=`0.42 <- https://packages.ubuntu.com/xenial/gir1.2-vte-2.91>`_). See doc here

gir1.2-keybinder-3.0

gir1.2-notify-0.7

gir1.2-vte-2.91

libkeybinder3

python3-cairo

python3-dbus

python3-gi

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.

Compatibility

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] xeberon.net) 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: http://guake-project.org

Online Documentation is hosted on ReadTheDocs.

If you are not a developer, you can still contribute to Guake by

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 guake.org, it has been registered by someone outside the team. We cannot be held responsible for the content on that web site.

AUTHOR

Gaetan Semet

COPYRIGHT

2022, Gaetan Semet