How to make any terminal act like Tilda

(And by any terminal, I mean x-terminal-emulator. Re-written to be more concise)

#Introduction
If you ever checked out tilda before, then you’ll know it’s a neat little terminal emulator that can pop into view and act similar to some video games’ development consoles. unfortunately, because it’s just another terminal emulator, it may be lacking features from other emulators. What about making other emulators look like it?

This is very easy to do with the compositor and window manager known as Compiz. But because some features I included are specific to version 0.8, this guide will be split up into two different sections; Universal settings and 0.8 settings. All of it will use the same base program, known as ccsm. These examples will be using mate-terminal as examples, because that’s what everybody will have but replace with whatever you wish.

Remember, this is only for x-terminal-emulator; The emulator x-terminal-emulator uses will appear different when invoked specifically. Ideally, you should also add in the title as specified; in each example it is assumed that x-terminal-emulator runs mate-terminal, which has title=Terminal. Other emulators may show the shell in use instead, so for that, title=^/ (Any that begins with /) should be used instead. An example using konsole, KDE’s emulator has windows that end with konsole, so the example that should affect all konsole windows is title=konsole$.

###Universal settings
Window Decoration
Some emulators will have the option to remove the window border / decoration entirely. If this is a thing you can do, then you can skip editing match strings for this plugin and continue.

  • General / Decoration windows
  • Default: any
  • Revised: any & !(class=X-terminal-emulator & title=Terminal)
  • General / Shadow windows
  • Default: any
  • Revised: any & !(class=X-terminal-emulator & title=Terminal)

Place Windows
Where you place the window depends on any docks in use, as well position relative to the window size you will define later. This will assume maximum width of display, to the very upper left.

  • Fixed Window Placement / Windows with Fixed Positions
  • class=x-terminall-emulator & title=Terminal
  • X Positions: 0
  • Y Positions: 0
  • Keep in Workarea: :ballot_box_with_check:

This will keep the emulator within the work area on spawn, just in case things get a little iffy; ccsm defaults to the absolute negative maximum of your display, which should always be changed to zero unless you want it positioned elsewhere.

Window Rules

  • Size rules / Matches
    This is all a matter of preference. Some of my preferences can be skipped if these functions are provided in your emulator.

  • Sticky: class=X-terminal-emulator & title=Terminal

  • Non movable windows: class=X-terminal-emulator & title=Terminal

  • Non resizable windows: class=X-terminal-emulator & title=Terminal

  • Size rules / Fixed Size Windows
    Widths less than your display can be used. More information at the end of this section.

  • class=X-terminal-emulator & title=Terminal

  • Width: 100%

  • Height: (y1 / 100%) / y2

Why the fancy formulas? In your terminal, do xrandr | grep current. The current resolution should be your guide; Using 1600 x 900 as an example, let’s plug in some values; 100% of 1600 is 1600 for X, while Y could be as tall as you need it; Take 900 and divide it by 100, then multiply by a number between 1 and 100; rounding to the nearest whole number to preference.

Width could also be (x1 / 100) * x2 if you wanted to play with it and Place Windows / Fixed window position. If you say, wanted a 1000px width, 1600 - 1000 = 600; 600 / 2 = 300; 300 should be the X position of the window if you wanted to centrally align a 1000-width window in a 1600-width display.

###0.8 settings
Had you backported compiz? Then you can add the following to make your terminal more visible in a 3D desktop with Desktop Cube. If you followed my advice about making windows play more nicely in a 3D desktop, then you can skip this section entirely if you made the terminal sticky.

Static Windows
This will make the terminal always visible and easily usable no matter what.

  • General / Window Match
  • Default: Dock
  • Revised: Dock | class=X-terminal-emulator & title=Terminal

3D Windows
_Using this? You’ll need to edit this plugin’s match string as well so the static window plays nice.

  • Misc. Options / Window Match
  • Default: Toolbar | Utility | Dialog | Normal | Unknown
  • Revised: (Toolbar | Utility | Dialog | Normal !(class=X-terminal-emulator & title=Terminal) | Unknown) |
1 Like

Did some touching up and updated after some long-term use. Appears the fake ARGB issues I was having earlier had disappeared after I updated to 16.04.

I did a complete rewrite to make it better.

Adding this specific fix since I encountered issues with Terminator’s window placement for some inexplicable reason;

Place Windows

  • Fixed Window Placement / Windows with Fixed Positions
  • class=X-terminal-emulator & (type=Normal & !title=Preferences$)
  • So on
  • So forth
  • Et cetera

The above tells Compiz to affect all normal windows, except for any window which title ends in “Preference”. This works better than class=X-window-terminal & title=^/ for some reason.