Quake-style terminal with splitting in Gnome other than Yakuake
772
The most common Quake-style terminal in Gnome seem to be Guake and Tilda, but they can't split to show several shells in single tab like Yakuake can. Is there any alternative which can do so?
Terra can be made to run on Ubuntu 14.04. See this answer for details
For Ubuntu 13.04 and older
Alternatively there is a new experimental project called Terra.
Terra is a GTK+3.0 based terminal emulator with useful user interface,
it also supports multiple terminals with splitting screen horizontally
or vertically.
Quick installation:
sudo add-apt-repository ppa:ozcanesen/terra-terminal
sudo apt-get update
sudo apt-get install terra
You can write a small script to make any window bring to the front. Though it is not sliding down from top like in quake it serves the purpose. I'm using terminator as my grid terminal since its very powerful.
The script I'm using for this is given below. So first install terminator and wmctrl then put this script where you keep your scripts and add a shortcut key (eg: Ctrl+`) and your done.
Now when you press Ctrl+` terminator comes to the front and press the same once more, it will go to the back of the other windows.
cd ~ && touch terminator_show_hide.sh && sudo chmod +x terminator_show_hide.sh
Paste this in the file:
#!/bin/bash
#
# This script does this:
# launch an app if it isn't launched yet,
# focus the app if it is launched but not focused,
# minimize the app if it is focused.
#
# by desgua - 2012/04/29
# modified by olds22 - 2012/09/16
# - customized to accept a parameter
# - made special exception to get it working with terminator
# First let's check if the needed tools are installed:
tool1=$(which xdotool)
tool2=$(which wmctrl)
if [ -z $tool1 ]; then
echo "Xdotool is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install xdotool
else
echo "Exiting then..."
exit 1
fi
fi
if [ -z $tool2 ]; then
echo "Wmctrl is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install wmctrl
else
echo "Exiting then..."
exit 1
fi
fi
# check if we're trying to use an app that needs a special process name
# (because it runs multiple processes and/or under a different name)
app=$1
if [[ $app == terminator ]]; then
process_name=usr/bin/terminator
else
process_name=$app
fi
# Check if the app is running (in this case $process_name)
#pid=$(pidof $process_name) # pidof didn't work for terminator
pid=$(pgrep -f $process_name)
# If it isn't launched, then launch
if [ -z $pid ]; then
$app
else
# If it is launched then check if it is focused
foc=$(xdotool getactivewindow getwindowpid)
if [[ $pid == $foc ]]; then
# if it is focused, then minimize
xdotool getactivewindow windowminimize
else
# if it isn't focused then get focus
wmctrl -x -R $app
fi
fi
exit 0
Then drop Guake map, if replacing the same shortcut like I was.
Open System Settings GUI -> Keyboard -> Shortcuts -> Custom Shortcuts
Click + and add this to command line:
/home/you/terminator_show_hide.sh terminator
Then map the key right there and you should be good to go.
I didn't have the bin folder mentioned and it wouldn't fire from home/me/.local/bin but when I moved it to /home/me/ it worked instantly.
Now I have the best of both worlds, Guake Show/Hide & PANES!!
FYI: I'm putting this info here because I found this post on first search. I found the other post after digging a little wider hole.
I use terminator as my primary terminal, and I've tried Guake and Tilda but missed tiling in the dropdown. I went with the suggestion @Pablo Bianchi mentions above as a secondary option: Tilix in Quake mode.
I didn't want to use terminator as a dropdown as I generally have 1-5 (yes 5!) full screen terminator instances open at any given time and I didn't want to deal with the logic of having a separate config for just a single instance.
I installed tilix on Ubuntu 18.04 from the repo:
$ sudo apt install tilix
Set my config, colors, etc. and Quake mode settings in the Preferences menu, then created a startup application entry (I use Cinnamon DE) for Tilix in the GUI, but you can replicate that like this:
This autostart method should work for more than Cinnamon, I'd expect it would work for most GTK based desktops (I think is part of the XDG freedesktop standard...?).
Finally, set a hotkey of your choice via the method employed by your DE. In Cinnamon this is stored in dconf, which means it's way easier to use the settings GUI than to script getting things in the dconf DB.
I've used Tilix before, almost replaced Terminator but I think memory usage made me switch back. With the large number of terminator instances I run, the reduced memory usage is important. Running Tilix in a limited instance case such as Quake mode as we are here, will probably be just fine.
Try Guake with tmux to get the splitting feature.
For Ubuntu 14.04
Terra can be made to run on Ubuntu 14.04. See this answer for details
For Ubuntu 13.04 and older
Alternatively there is a new experimental project called Terra.
Quick installation:
For more information check out the WebUpd8 article.
You can write a small script to make any window bring to the front. Though it is not sliding down from top like in quake it serves the purpose. I'm using terminator as my grid terminal since its very powerful.
The script I'm using for this is given below. So first install terminator and wmctrl then put this script where you keep your scripts and add a shortcut key (eg: Ctrl+`) and your done.
Now when you press Ctrl+` terminator comes to the front and press the same once more, it will go to the back of the other windows.
I wrote a similar but more extensive answer here.
Guake + Byobu
I use (now on 20.04) Guake with Byobu as shell interpreter, which by default use
tmux
(probably better thanscreen
).Three steps
Install:
sudo apt install byobu
(no PPAs needed).Add it to available shells:
which byobu | tee -a /etc/shells
, as I told in this Guake Github issue.On Guake preferences (
guake-prefs
) choose Byobu as the default interpreter:Optional: Hide tab bar, since you will use Byobu for that:
If a shortcut doesn't work, try disabling Guake ones that might interfere (in my case was Ctrl+F2 for vertical split):
Other suggestions
apropos byobu
For Xenial users do this. It works great with terminator so far.
This will run/show/hide when using keyboard shortcut
I had
F12
mapped to show/hide Guake for a while now but wanted terminal panes.sudo apt update && sudo apt install xdotool wmctrl
cd ~ && touch terminator_show_hide.sh && sudo chmod +x terminator_show_hide.sh
Paste this in the file:
Then drop Guake map, if replacing the same shortcut like I was.
Open System Settings GUI -> Keyboard -> Shortcuts -> Custom Shortcuts
Click + and add this to command line:
/home/you/terminator_show_hide.sh terminator
Then map the key right there and you should be good to go.
This is slightly modified version of https://askubuntu.com/a/189603/597130
I didn't have the bin folder mentioned and it wouldn't fire from
home/me/.local/bin
but when I moved it to/home/me/
it worked instantly.Now I have the best of both worlds, Guake Show/Hide & PANES!! FYI: I'm putting this info here because I found this post on first search. I found the other post after digging a little wider hole.
I use terminator as my primary terminal, and I've tried Guake and Tilda but missed tiling in the dropdown. I went with the suggestion @Pablo Bianchi mentions above as a secondary option: Tilix in Quake mode.
I didn't want to use terminator as a dropdown as I generally have 1-5 (yes 5!) full screen terminator instances open at any given time and I didn't want to deal with the logic of having a separate config for just a single instance.
I installed tilix on Ubuntu 18.04 from the repo:
Set my config, colors, etc. and Quake mode settings in the Preferences menu, then created a startup application entry (I use Cinnamon DE) for Tilix in the GUI, but you can replicate that like this:
This autostart method should work for more than Cinnamon, I'd expect it would work for most GTK based desktops (I think is part of the XDG freedesktop standard...?).
Finally, set a hotkey of your choice via the method employed by your DE. In Cinnamon this is stored in dconf, which means it's way easier to use the settings GUI than to script getting things in the dconf DB.
I've used Tilix before, almost replaced Terminator but I think memory usage made me switch back. With the large number of terminator instances I run, the reduced memory usage is important. Running Tilix in a limited instance case such as Quake mode as we are here, will probably be just fine.