Drop-down terminal in i3

One of the reasons I switched from KDE to i3wm is that I love and need terminals. In my field of work you happen to spawn dozens of them and you always end up running out of space / workspaces.

Yakuake has been a real ally to me for years as I intensively use a drop-down terminal for sporadic usages. It is hard to match Yakuake’s efficiency and ability to split terminals but I couldn’t stand all those KDE dependencies anymore; I had to find a great drop-down terminal solution in i3.

So I started looking at other drop-down terminals such as Terra and Guake but they didn’t fit my low dependencies and features list requirements.

Drop-down Terminator

My current solution is to take advantage of the floating mode of i3, use it with my beloved terminator et voilà ! Nothing more to install, no extra dependency, using the same shortcuts of my main $TERMINAL and all of its features :)

The idea is simple, we’ll create a special profile in terminator and have it spawned in floating mode upon i3 start. This profile must cover the following drop-down behaviors :

  • respond to a configurable show/hide key binding
  • present a drop-down terminal at the center of the screen
  • the interface should be dead simple and efficient and support splitting

Just edit your terminator configuration in ~/.config/terminator/config

[keybindings]
  hide_window = F1

[[dropdown]]
  exit_action = close
  scrollback_lines = 10000
  background_image = None
  scroll_on_output = False
  show_titlebar = False

That’s my minimal config, you can add your own stuff to it as well. Now we only need to configure i3 to spawn this profile at login and have it in floating mode.

exec terminator -c dropdown -p dropdown -T "Le Terminator" -H --geometry=1550x800

for_window [class="Terminator" instance="dropdown"] floating enable

That’s as simple as this.

There’s still one limitation which I didn’t come across yet :

  • Unlike Yakuake, our drop-down terminator has a fixed geometry which you must set in the i3 config above and does not support percentage values. So if you have multiple screens of different resolutions it won’t adapt on them based on the screen you want to show your drop-down terminator.

So long, Yakuake !

8 thoughts on “Drop-down terminal in i3

    1. ultrabug Post author

      Thanks mate, I didn’t know about this.

      This is an interesting feature indeed even more when the app you need doesn’t have a hide/show configuration option. I’ll try it soon :)

      Reply
  1. Yaro Kasear

    Have you considered giving tmux a try? That way you could use most any terminal you want and still get the splitting features of terminator. Better still: It’s like screen, so you can use it ANYWHERE you have a console or virtual terminal. Knowing that you could get really minimalist and use xterm (I’m not a fan of xterm, myself.)

    Reply
    1. Yaro Kasear

      Rather, you can recover the session from any terminal/console, or even over SSH, and still retain the exact splits you set up before. It’s primarily why I don’t actually use Terminator, because I already have all I need from tmux.

      Reply
      1. ultrabug Post author

        Hi Yaro,

        Thanks for your comments, I’m sure it will give other people another insight and ideas.

        Yes I did, but I must admit that I’m not a fan of screen and tmux mainly because I dislike their full featured keybindings (my memory have enough of them already).

        I won’t argue about their versatility and I know they are very effective software too so I guess it’s just about everyone’s usage. TBH I’m fine with not having to keep all those sessions open all the time (I quite never switch off my work laptop anyway).

        Reply
  2. Arnaudv6

    Hello Ultrabug

    I actually do not use tiling WM (yet). And it seems you solved your problem already.
    But I quitted KDE fo rXfce few years ago, had to replace yakuake too with one alike;
    Here follow some GTK alternatives just in case :
    https://github.com/stjerm/stjerm
    https://github.com/lanoxx/tilda/

    not to mention
    http://finalterm.org/
    http://guake.org/
    http://sourceforge.net/projects/quterm/
    https://github.com/segrived/ftjerm
    former being stjerm fork.
    regards

    Reply
    1. ultrabug Post author

      Thanks for your input Arnaud; I gave some of those a try indeed and found that those I tried did need to much dependencies or were to tied with a specific WM (guake). I must say I’m happy with having a solution which doesn’t require another program to work thx to the tiling WM ;)

      Anyway, thx again for pointing out some other alternatives !

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>