How To: CRT-L - Cool-Retro-Term Lockscreen

Reading time ~5 minutes

Table of Contents

About

Intro

A few weeks ago i bought myself a Surface Pro 2 in an efford to create a Nintendo Toast (or as some ppl might know it the Nintendo Switch) sort of portable media station. I’ll most certainly write about that too in the near future, as there were some problems to solve, but i do like the result.

After I had done some work on it, it was time to install RetroArch, so I asked my package manager about retro. Why? Because i am lazy and I didn’t want to type the extra letters. As it happend, one of my favourite distrebutions (The Void (Linux)) returned not only RetroArch but a package named Cool-Retro-Term.

My interest was sparked so I installed it and being born in the mid 80s I felt nostalgic right away. It is a really nice program, but as a main terminal emulator a little useless as you have to waste some workspace for its lovely looks (I’d easyly get double the lines properly readable on a screen with Konsole).

So thinking about what use this great tool could be, I came up with the Idea of making it a screensaver ‘sort of active lockscreen’. I didn’t use a desktop environment (DE) but i3 so i was already using i3lock. All I needed was a tool able to lock input while still showing the currently active windows.

I was with a couple of similar minded people at spline and together we became rather obsessed with the idea to have htop actually running as your screensaver/lockscreen.

What is the CRT-L

Exactly that, using Cool-Retro-Term and xtrlock to produce a running htop lockscreen.

It can look liek This crt02.png

Why the CRT-L

As stated above Cool-Retro-Term is to great to not be used, but not only does it not make optimal use of screenspace, it is a openGL terminal emulator, that does really need some GPU power. So using it as soem sort of shortterm demo seemed like the best solution to not ditch it.

Requirements

If your system varies from my setup, you might ofcourse need different requirements met. For this to work i used the following components.

Installation

As those simple things usually turn out, making it happen required a little more efford then initially expected, so a short zsh script was written and I’ll also include my CRT theme and the line added to my i3 config.

Step 1

Create a file crt-lock.sh in a folder of your choice, e.g. ~/.tools/crt-lock and paste

#!/bin/zsh
cool-retro-term --profile "crt-lock" -e htop &
xtrlock -b none

Step 2

Create a file crt-lock.json in a folder of your choice, e.g. ~/Downloads/, paste the following and import it to CRT

{
  "ambientLight": 0,
  "backgroundColor": "#000c01",
  "bloom": 0.4967,
  "brightness": 0.5046,
  "burnIn": 0.775,
  "chromaColor": 0,
  "contrast": 1,
  "customCommand": "",
  "flickering": 0.4851,
  "fontColor": "#00ba00",
  "fontName": "TERMINUS",
  "fontWidth": 1,
  "frameName": "NO_FRAME",
  "glowingLine": 0.1247,
  "horizontalSync": 0.3465,
  "jitter": 0.3365,
  "rasterization": 0,
  "rbgShift": 0.102,
  "saturationColor": 1,
  "screenCurvature": 0,
  "staticNoise": 0.0119,
  "useCustomCommand": false,
  "windowOpacity": 1,
  "name": "crt-lock"
}

Step 3

Add this line to your i3-conf, e.g. in ~/.config/i3/config and adjust the path accordingly.

bindsym $mod+z      exec konsole -e ~/.tools/crt-lock.sh

Step 4

Reload your i3 conf (default is $Mod+Shift+r) and you should be set. Enjoy!